-
Notifications
You must be signed in to change notification settings - Fork 127
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add GitHub workflows * Workflows with CMake compilation on Windows * Ubuntu workflow with Boost * Ignore warnings from Boost * Compile unit tests on Windows * Disable cpuinfo tools if compiled with ninja * Use a separate CMakeSettings.json for CI * Disable CMake debugs * Fix unit tests compilation with Ninja Release * Use FBGEMM in Windows workflow; add comments * Fix C4706 warning * Update CHANGELOG * Run Windows build on pull requests * Compile SentencePiece statically in Windows workflow * Add GitHub workflow on MacOS * Address review comments * Disable C4702 globally, not only in Debug * Update CHANGELOG and workflows names * Update VERSION
- Loading branch information
Showing
18 changed files
with
331 additions
and
83 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
name: macos-10.5-cpu | ||
|
||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
branches: [ master ] | ||
|
||
jobs: | ||
build: | ||
|
||
runs-on: macos-10.15 | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Install dependencies | ||
run: brew install openblas protobuf | ||
|
||
# Openblas location is exported explicitly because openblas is keg-only, | ||
# which means it was not symlinked into /usr/local/. | ||
# CMake cannot find BLAS on GitHub runners if Marian is being compiled | ||
# statically, hence USE_STATIC_LIBS=off | ||
- name: Configure CMake | ||
run: | | ||
export LDFLAGS="-L/usr/local/opt/openblas/lib" | ||
export CPPFLAGS="-I/usr/local/opt/openblas/include" | ||
mkdir -p build | ||
cd build | ||
cmake .. -DCOMPILE_CPU=on -DCOMPILE_CUDA=off -DCOMPILE_EXAMPLES=on -DCOMPILE_SERVER=on -DCOMPILE_TESTS=on \ | ||
-DUSE_FBGEMM=on -DUSE_SENTENCEPIECE=on -DUSE_STATIC_LIBS=off | ||
- name: Compile | ||
working-directory: build | ||
run: make -j2 | ||
|
||
- name: Run unit tests | ||
working-directory: build | ||
run: make test | ||
|
||
- name: Print versions | ||
working-directory: build | ||
run: | | ||
./marian --version | ||
./marian-decoder --version | ||
./marian-scorer --version | ||
./spm_encode --version | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
name: ubuntu-18.04-cpu | ||
|
||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
branches: [ master ] | ||
|
||
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-18.04 | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
# The following packages are already installed on GitHub-hosted runners: build-essential openssl libssl-dev | ||
- name: Install dependencies | ||
run: sudo apt-get install --no-install-recommends libgoogle-perftools-dev libprotobuf10 libprotobuf-dev protobuf-compiler | ||
|
||
# https://software.intel.com/content/www/us/en/develop/articles/installing-intel-free-libs-and-python-apt-repo.html | ||
- name: Install MKL | ||
run: | | ||
wget -qO- "https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB" | sudo apt-key add - | ||
sudo sh -c "echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list" | ||
sudo apt-get update -o Dir::Etc::sourcelist="/etc/apt/sources.list.d/intel-mkl.list" | ||
sudo apt-get install --no-install-recommends intel-mkl-64bit-2020.0-088 | ||
- name: Print Boost paths | ||
run: | | ||
ls $BOOST_ROOT_1_69_0 | ||
ls $BOOST_ROOT_1_69_0/include | ||
ls $BOOST_ROOT_1_69_0/lib | ||
# Boost is already installed on GitHub-hosted runners in a non-standard location | ||
# https://github.com/actions/virtual-environments/issues/687#issuecomment-610471671 | ||
- name: Configure CMake | ||
run: | | ||
mkdir -p build | ||
cd build | ||
cmake .. -DCOMPILE_CPU=on -DCOMPILE_CUDA=off -DCOMPILE_EXAMPLES=on -DCOMPILE_SERVER=on -DCOMPILE_TESTS=on \ | ||
-DUSE_FBGEMM=on -DUSE_SENTENCEPIECE=on \ | ||
-DBOOST_ROOT=$BOOST_ROOT_1_69_0 -DBOOST_INCLUDEDIR=$BOOST_ROOT_1_69_0/include -DBOOST_LIBRARYDIR=$BOOST_ROOT_1_69_0/lib \ | ||
-DBoost_ARCHITECTURE=-x64 | ||
- name: Compile | ||
working-directory: build | ||
run: make -j2 | ||
|
||
- name: Run unit tests | ||
working-directory: build | ||
run: make test | ||
|
||
- name: Print versions | ||
working-directory: build | ||
run: | | ||
./marian --version | ||
./marian-decoder --version | ||
./marian-scorer --version | ||
./spm_encode --version | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name: windows-2019-cpu | ||
|
||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
branches: [ master ] | ||
|
||
jobs: | ||
build: | ||
|
||
runs-on: windows-2019 | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Prepare vcpkg | ||
uses: lukka/run-vcpkg@v3 | ||
with: | ||
vcpkgArguments: protobuf | ||
vcpkgGitCommitId: 6185aa76504a5025f36754324abf307cc776f3da | ||
vcpkgDirectory: ${{ github.workspace }}/vcpkg/ | ||
vcpkgTriplet: x64-windows-static | ||
|
||
# Note that we build with a simplified CMake settings JSON file | ||
- name: Run CMake | ||
uses: lukka/run-cmake@v2 | ||
with: | ||
buildDirectory: ${{ github.workspace }}/build/ | ||
cmakeAppendedArgs: -G Ninja | ||
cmakeListsOrSettingsJson: CMakeSettingsJson | ||
cmakeSettingsJsonPath: ${{ github.workspace }}/CMakeSettingsCI.json | ||
useVcpkgToolchainFile: true | ||
|
||
- name: Run unit tests | ||
working-directory: build/Debug/ | ||
run: ctest | ||
|
||
- name: Print versions | ||
working-directory: build/Debug/ | ||
run: | | ||
.\marian.exe --version | ||
.\marian-decoder.exe --version | ||
.\marian-scorer.exe --version | ||
.\spm_encode.exe --version | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
{ | ||
"configurations": [ | ||
{ | ||
"name": "Release", | ||
"generator": "Ninja", | ||
"configurationType": "Release", | ||
"inheritEnvironments": [ "msvc_x64" ], | ||
"cmakeCommandArgs": "", | ||
"buildCommandArgs": "-v", | ||
"ctestCommandArgs": "", | ||
"variables": [ | ||
{ "name": "OPENSSL_USE_STATIC_LIBS:BOOL", "value": "TRUE" }, | ||
{ "name": "OPENSSL_MSVC_STATIC_RT:BOOL", "value": "TRUE" }, | ||
|
||
{ "name": "COMPILE_CUDA:BOOL", "value": "FALSE" }, | ||
{ "name": "COMPILE_CPU:BOOL", "value": "TRUE" }, | ||
{ "name": "COMPILE_EXAMPLES:BOOL", "value": "FALSE" }, | ||
{ "name": "COMPILE_SERVER:BOOL", "value": "FALSE" }, | ||
{ "name": "COMPILE_TESTS:BOOL", "value": "TRUE" }, | ||
|
||
{ "name": "USE_FBGEMM:BOOL", "value": "TRUE" }, | ||
{ "name": "USE_MPI:BOOL", "value": "FALSE" }, | ||
{ "name": "USE_SENTENCEPIECE:BOOL", "value": "TRUE" }, | ||
{ "name": "USE_STATIC_LIBS:BOOL", "value": "TRUE" } | ||
] | ||
}, | ||
{ | ||
"name": "Debug", | ||
"generator": "Ninja", | ||
"configurationType": "Debug", | ||
"inheritEnvironments": [ "msvc_x64" ], | ||
"cmakeCommandArgs": "", | ||
"buildCommandArgs": "-v", | ||
"ctestCommandArgs": "", | ||
"variables": [ | ||
{ "name": "OPENSSL_MSVC_STATIC_RT:BOOL", "value": "TRUE" }, | ||
{ "name": "OPENSSL_USE_STATIC_LIBS:BOOL", "value": "TRUE" }, | ||
|
||
{ "name": "COMPILE_CUDA:BOOL", "value": "FALSE" }, | ||
{ "name": "COMPILE_CPU:BOOL", "value": "TRUE" }, | ||
{ "name": "COMPILE_EXAMPLES:BOOL", "value": "FALSE" }, | ||
{ "name": "COMPILE_SERVER:BOOL", "value": "FALSE" }, | ||
{ "name": "COMPILE_TESTS:BOOL", "value": "TRUE" }, | ||
|
||
{ "name": "USE_FBGEMM:BOOL", "value": "TRUE" }, | ||
{ "name": "USE_MPI:BOOL", "value": "FALSE" }, | ||
{ "name": "USE_SENTENCEPIECE:BOOL", "value": "TRUE" }, | ||
{ "name": "USE_STATIC_LIBS:BOOL", "value": "TRUE" } | ||
] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
v1.9.28 | ||
v1.9.29 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,26 @@ | ||
# Unit tests | ||
add_subdirectory(units) | ||
|
||
if(NOT MSVC) | ||
# Testing apps | ||
set(APP_TESTS | ||
logger | ||
dropout | ||
sqlite | ||
prod | ||
cli | ||
pooling | ||
) | ||
|
||
# Testing apps | ||
set(APP_TESTS | ||
logger | ||
dropout | ||
sqlite | ||
prod | ||
cli | ||
pooling | ||
) | ||
foreach(test ${APP_TESTS}) | ||
add_executable("test_${test}" "${test}.cpp") | ||
|
||
foreach(test ${APP_TESTS}) | ||
add_executable("test_${test}" "${test}.cpp") | ||
if(CUDA_FOUND) | ||
target_link_libraries("test_${test}" ${EXT_LIBS} marian ${EXT_LIBS} marian_cuda ${EXT_LIBS}) | ||
else(CUDA_FOUND) | ||
target_link_libraries("test_${test}" marian ${EXT_LIBS}) | ||
endif(CUDA_FOUND) | ||
|
||
if(CUDA_FOUND) | ||
target_link_libraries("test_${test}" ${EXT_LIBS} marian ${EXT_LIBS} marian_cuda ${EXT_LIBS}) | ||
else(CUDA_FOUND) | ||
target_link_libraries("test_${test}" marian ${EXT_LIBS}) | ||
endif(CUDA_FOUND) | ||
|
||
set_target_properties("test_${test}" PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") | ||
endforeach(test) | ||
set_target_properties("test_${test}" PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") | ||
endforeach(test) | ||
endif(NOT MSVC) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.