diff --git a/tools/ci_build/build.py b/tools/ci_build/build.py index 03c62636cb..612a07eb87 100755 --- a/tools/ci_build/build.py +++ b/tools/ci_build/build.py @@ -21,14 +21,20 @@ from os.path import expanduser logging.basicConfig(format="%(asctime)s %(name)s [%(levelname)s] - %(message)s", level=logging.DEBUG) log = logging.getLogger("Build") -test_data_url = 'https://onnxruntimetestdata.blob.core.windows.net/models/20181210.zip' -test_data_checksum = 'a966def7447f4ff04f5665bca235b3f3' +class BaseError(Exception): + """Base class for errors originating from build.py.""" + pass -class BuildError(Exception): +class BuildError(BaseError): """Error from running build steps.""" def __init__(self, *messages): super().__init__("\n".join(messages)) +class UsageError(BaseError): + """Usage related error.""" + def __init__(self, message): + super().__init__(message) + def parse_arguments(): parser = argparse.ArgumentParser(description="ONNXRuntime CI build driver.", usage=''' @@ -60,6 +66,8 @@ Use the individual flags to only run the specified stages. parser.add_argument("--pb_home", help="Path to protobuf installation") parser.add_argument("--download_test_data", action="store_true", help='''Downloads test data without running the tests''') + parser.add_argument("--test_data_url", help="Test data URL.") + parser.add_argument("--test_data_checksum", help="Test data checksum (MD5 digest).") # CUDA related parser.add_argument("--use_cuda", action='store_true', help="Enable CUDA.") parser.add_argument("--cuda_home", help="Path to CUDA home." @@ -127,7 +135,7 @@ def get_config_build_dir(build_dir, config): # build directory per configuration return os.path.join(build_dir, config) -def run_subprocess(args, cwd=None, capture=False, dll_path=None): +def run_subprocess(args, cwd=None, capture=False, dll_path=None, shell=False): log.debug("Running subprocess in '{0}'\n{1}".format(cwd or os.getcwd(), args)) my_env = os.environ.copy() if dll_path: @@ -139,12 +147,8 @@ def run_subprocess(args, cwd=None, capture=False, dll_path=None): else: my_env["LD_LIBRARY_PATH"] = dll_path - if (capture): - result = subprocess.run(args, cwd=cwd, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=my_env) - else: - result = subprocess.run(args, cwd=cwd, check=True, env=my_env) - - return result + stdout, stderr = (subprocess.PIPE, subprocess.STDOUT) if capture else (None, None) + return subprocess.run(args, cwd=cwd, check=True, stdout=stdout, stderr=stderr, env=my_env, shell=shell) def update_submodules(source_dir): run_subprocess(["git", "submodule", "update", "--init", "--recursive"], cwd=source_dir) @@ -216,13 +220,22 @@ def download_test_data(build_dir, src_url, expected_md5, azure_sas_key): log.info("Downloading test data") if azure_sas_key: src_url += azure_sas_key + # try to avoid logging azure_sas_key if shutil.which('aria2c'): - subprocess.run(['aria2c','-x', '5', '-j',' 5', '-q', src_url, '-d', cache_dir], check=True) + result = subprocess.run(['aria2c','-x', '5', '-j',' 5', '-q', src_url, '-d', cache_dir]) + if result.returncode != 0: + raise BuildError("aria2c exited with code {}.".format(result.returncode)) elif shutil.which('curl'): - subprocess.run(['curl', '-s', src_url, '-o', local_zip_file], check=True) + result = subprocess.run(['curl', '-s', src_url, '-o', local_zip_file]) + if result.returncode != 0: + raise BuildError("curl exited with code {}.".format(result.returncode)) else: import urllib.request - urllib.request.urlretrieve(src_url, local_zip_file) + import urllib.error + try: + urllib.request.urlretrieve(src_url, local_zip_file) + except urllib.error.URLError: + raise BuildError("urllib.request.urlretrieve() failed.") models_dir = os.path.join(build_dir,'models') if os.path.exists(models_dir): log.info('deleting %s' % models_dir) @@ -237,12 +250,13 @@ def download_test_data(build_dir, src_url, expected_md5, azure_sas_key): return False return True -def generate_build_tree(cmake_path, source_dir, build_dir, cuda_home, cudnn_home, pb_home, configs, cmake_extra_defines, args, cmake_extra_args): - has_test_data = False - if args.enable_onnx_tests or args.download_test_data: - has_test_data = download_test_data(build_dir, test_data_url, test_data_checksum, args.azure_sas_key) - #create a shortcut for test models if there is a 'models' folder in build_dir - if has_test_data and is_windows(): +def setup_test_data(build_dir, configs, test_data_url, test_data_checksum, azure_sas_key): + """Sets up the test data, downloading it if needed.""" + if not download_test_data(build_dir, test_data_url, test_data_checksum, azure_sas_key): + raise BuildError("Failed to set up test data.") + + # create a shortcut for test models if there is a 'models' folder in build_dir + if is_windows(): src_model_dir = os.path.join(build_dir, 'models') for config in configs: config_build_dir = get_config_build_dir(build_dir, config) @@ -250,13 +264,15 @@ def generate_build_tree(cmake_path, source_dir, build_dir, cuda_home, cudnn_home dest_model_dir = os.path.join(config_build_dir, 'models') if os.path.exists(src_model_dir) and not os.path.exists(dest_model_dir): log.debug("creating shortcut %s -> %s" % (src_model_dir, dest_model_dir)) - subprocess.run(['mklink', '/D', '/J', dest_model_dir, src_model_dir], shell=True, check=True) + run_subprocess(['mklink', '/D', '/J', dest_model_dir, src_model_dir], shell=True) + +def generate_build_tree(cmake_path, source_dir, build_dir, cuda_home, cudnn_home, pb_home, configs, cmake_extra_defines, args, cmake_extra_args): log.info("Generating CMake build tree") cmake_dir = os.path.join(source_dir, "cmake") # TODO: fix jemalloc build so it does not conflict with onnxruntime shared lib builds. (e.g. onnxuntime_pybind) # for now, disable jemalloc if pybind is also enabled. cmake_args = [cmake_path, cmake_dir, - "-Donnxruntime_RUN_ONNX_TESTS=" + ("ON" if has_test_data else "OFF"), + "-Donnxruntime_RUN_ONNX_TESTS=" + ("ON" if args.enable_onnx_tests else "OFF"), "-Donnxruntime_GENERATE_TEST_REPORTS=ON", "-Donnxruntime_DEV_MODE=ON", "-DPYTHON_EXECUTABLE=" + sys.executable, @@ -546,6 +562,11 @@ def main(): if (not args.skip_submodule_sync): update_submodules(source_dir) + if args.enable_onnx_tests or args.download_test_data: + if not args.test_data_url or not args.test_data_checksum: + raise UsageError("The test_data_url and test_data_checksum arguments are required.") + setup_test_data(build_dir, configs, args.test_data_url, args.test_data_checksum, args.azure_sas_key) + generate_build_tree(cmake_path, source_dir, build_dir, cuda_home, cudnn_home, args.pb_home, configs, cmake_extra_defines, args, cmake_extra_args) @@ -575,6 +596,6 @@ def main(): if __name__ == "__main__": try: sys.exit(main()) - except BuildError as e: + except BaseError as e: log.error(str(e)) sys.exit(1) diff --git a/tools/ci_build/github/azure-pipelines/azure-pipelines-py-packaging.yml b/tools/ci_build/github/azure-pipelines/azure-pipelines-py-packaging.yml index bef731d94b..4f99cd305d 100644 --- a/tools/ci_build/github/azure-pipelines/azure-pipelines-py-packaging.yml +++ b/tools/ci_build/github/azure-pipelines/azure-pipelines-py-packaging.yml @@ -10,11 +10,13 @@ jobs: Python37: python.version: '3.7' steps: + - template: templates/set-test-data-variables-step.yml + - task: ShellScript@2 displayName: 'Run build script' inputs: scriptPath: 'tools/ci_build/github/linux/run_dockerbuild.sh' - args: '-c Release -o ubuntu16.04 -d cpu -r $(Build.BinariesDirectory) -p $(python.version) -x "--build_wheel --use_mkldnn"' + args: '-c Release -o ubuntu16.04 -d cpu -r $(Build.BinariesDirectory) -p $(python.version) -x "--build_wheel --use_mkldnn --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum)"' - task: CopyFiles@2 displayName: 'Copy Python Wheel to: $(Build.ArtifactStagingDirectory)' @@ -28,9 +30,7 @@ jobs: inputs: ArtifactName: onnxruntime - - script: 'sudo rm -rf $(Agent.BuildDirectory)' - displayName: 'Clean build folders/files' - condition: always() + - template: templates/clean-agent-build-directory-step.yml - job: Ubuntu1604_py_GPU_Wheels pool: Linux-GPU @@ -43,11 +43,13 @@ jobs: Python37: python.version: '3.7' steps: + - template: templates/set-test-data-variables-step.yml + - task: ShellScript@2 displayName: 'Run build script' inputs: scriptPath: 'tools/ci_build/github/linux/run_dockerbuild.sh' - args: '-c Release -o ubuntu16.04 -d gpu -c cuda9.1-cudnn7.1 -r $(Build.BinariesDirectory) -p $(python.version) -x "--build_wheel --use_mkldnn"' + args: '-c Release -o ubuntu16.04 -d gpu -c cuda9.1-cudnn7.1 -r $(Build.BinariesDirectory) -p $(python.version) -x "--build_wheel --use_mkldnn --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum)"' - task: CopyFiles@2 displayName: 'Copy Python Wheel to: $(Build.ArtifactStagingDirectory)' @@ -61,9 +63,7 @@ jobs: inputs: ArtifactName: onnxruntime_gpu - - script: 'sudo rm -rf $(Agent.BuildDirectory)' - displayName: 'Clean build folders/files' - condition: always() + - template: templates/clean-agent-build-directory-step.yml - job: Windows_py_Wheels pool: Win-CPU @@ -104,14 +104,6 @@ jobs: inputs: ArtifactName: onnxruntime - - task: CmdLine@1 - displayName: 'Clean build folders/files' - inputs: - filename: rd - arguments: '/s /q $(Agent.BuildDirectory)' - continueOnError: true - condition: always() - - task: CmdLine@1 displayName: 'Deactivating Conda Environment' inputs: @@ -119,6 +111,8 @@ jobs: continueOnError: true condition: always() + - template: templates/clean-agent-build-directory-step.yml + - job: Windows_py_GPU_Wheels pool: Win-GPU variables: @@ -172,14 +166,6 @@ jobs: inputs: ArtifactName: onnxruntime_gpu - - task: CmdLine@1 - displayName: 'Clean build folders/files' - inputs: - filename: rd - arguments: '/s /q $(Agent.BuildDirectory)' - continueOnError: true - condition: always() - - task: CmdLine@1 displayName: 'Deactivating Conda Environment' inputs: @@ -187,6 +173,8 @@ jobs: continueOnError: true condition: always() + - template: templates/clean-agent-build-directory-step.yml + - job: MacOS_py_Wheels pool: vmImage: 'macOS-10.13' @@ -224,6 +212,4 @@ jobs: inputs: ArtifactName: onnxruntime - - script: 'sudo rm -rf $(Agent.BuildDirectory)' - displayName: 'Clean build folders/files' - condition: always() + - template: templates/clean-agent-build-directory-step.yml diff --git a/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml index 98255801f4..a2e8ef00ec 100644 --- a/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml @@ -2,10 +2,9 @@ jobs: - job: Linux_CI_Dev pool: Linux-CPU steps: - - script: 'tools/ci_build/github/linux/run_dockerbuild.sh -o ubuntu16.04 -d cpu -r $(Build.BinariesDirectory) -x "--use_mklml"' + - template: templates/set-test-data-variables-step.yml + + - script: 'tools/ci_build/github/linux/run_dockerbuild.sh -o ubuntu16.04 -d cpu -r $(Build.BinariesDirectory) -x "--use_mklml --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum)"' displayName: 'Command Line Script' - env: - AZURE_BLOB_KEY: $(onnxruntime-storage-key) - - script: 'sudo rm -rf $(Agent.BuildDirectory)' - displayName: 'Clean build folders/files' - condition: always() \ No newline at end of file + + - template: templates/clean-agent-build-directory-step.yml diff --git a/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline-cuda9.yml b/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline-cuda9.yml index 7fb35c9958..aaa2f055b1 100644 --- a/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline-cuda9.yml +++ b/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline-cuda9.yml @@ -2,9 +2,9 @@ jobs: - job: Linux_CI_GPU_Dev pool: Linux-GPU-CUDA10 steps: - - script: 'tools/ci_build/github/linux/run_dockerbuild.sh -o ubuntu16.04 -d gpu -c cuda9.1-cudnn7.1 -r $(Build.BinariesDirectory)' + - template: templates/set-test-data-variables-step.yml + + - script: 'tools/ci_build/github/linux/run_dockerbuild.sh -o ubuntu16.04 -d gpu -c cuda9.1-cudnn7.1 -r $(Build.BinariesDirectory) -x "--test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum)"' displayName: 'Command Line Script' - - script: 'sudo rm -rf $(Agent.BuildDirectory)' - displayName: 'Clean build folders/files' - condition: always() + - template: templates/clean-agent-build-directory-step.yml diff --git a/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml index c2af3d64f9..382da4fd81 100644 --- a/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml @@ -2,9 +2,9 @@ jobs: - job: Linux_CI_GPU_Dev pool: Linux-GPU-CUDA10 steps: - - script: 'tools/ci_build/github/linux/run_dockerbuild.sh -o ubuntu16.04 -d gpu -r $(Build.BinariesDirectory)' + - template: templates/set-test-data-variables-step.yml + + - script: 'tools/ci_build/github/linux/run_dockerbuild.sh -o ubuntu16.04 -d gpu -r $(Build.BinariesDirectory) -x "--test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum)"' displayName: 'Command Line Script' - - script: 'sudo rm -rf $(Agent.BuildDirectory)' - displayName: 'Clean build folders/files' - condition: always() + - template: templates/clean-agent-build-directory-step.yml diff --git a/tools/ci_build/github/azure-pipelines/mac-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/mac-ci-pipeline.yml index f6a0338dae..55b6f4234a 100644 --- a/tools/ci_build/github/azure-pipelines/mac-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/mac-ci-pipeline.yml @@ -7,6 +7,5 @@ jobs: sudo xcode-select --switch /Applications/Xcode_10.app/Contents/Developer ./build.sh --skip_submodule_sync --parallel displayName: 'Command Line Script' - - script: 'sudo rm -rf $(Agent.BuildDirectory)' - displayName: 'Clean build folders/files' - condition: always() \ No newline at end of file + + - template: templates/clean-agent-build-directory-step.yml \ No newline at end of file diff --git a/tools/ci_build/github/azure-pipelines/templates/clean-agent-build-directory-step.yml b/tools/ci_build/github/azure-pipelines/templates/clean-agent-build-directory-step.yml new file mode 100644 index 0000000000..4a44a1c285 --- /dev/null +++ b/tools/ci_build/github/azure-pipelines/templates/clean-agent-build-directory-step.yml @@ -0,0 +1,9 @@ +# cleans $(Agent.BuildDirectory) unconditionally on multiple platforms + +steps: +- script: rd /S /Q $(Agent.BuildDirectory) + displayName: Clean build files (Windows) + condition: eq(variables['Agent.OS'], 'Windows_NT') # and always() +- script: sudo rm -rf $(Agent.BuildDirectory) + displayName: Clean build files (POSIX) + condition: not(eq(variables['Agent.OS'], 'Windows_NT')) # and always() diff --git a/tools/ci_build/github/azure-pipelines/templates/set-test-data-variables-step.yml b/tools/ci_build/github/azure-pipelines/templates/set-test-data-variables-step.yml new file mode 100644 index 0000000000..a15714d8dd --- /dev/null +++ b/tools/ci_build/github/azure-pipelines/templates/set-test-data-variables-step.yml @@ -0,0 +1,18 @@ +# sets variables $(TestDataUrl) and $(TestDataChecksum) + +parameters: + TestDataUrl: https://onnxruntimetestdata.blob.core.windows.net/models/20181210.zip + TestDataChecksum: a966def7447f4ff04f5665bca235b3f3 + +steps: +- task: CmdLine@1 + displayName: 'Set TestDataUrl variable' + inputs: + filename: echo + arguments: '##vso[task.setvariable variable=TestDataUrl;]${{parameters.TestDataUrl}}' + +- task: CmdLine@1 + displayName: 'Set TestDataChecksum variable' + inputs: + filename: echo + arguments: '##vso[task.setvariable variable=TestDataChecksum;]${{parameters.TestDataChecksum}}' diff --git a/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml index 5cbbf82b73..ec438b556f 100644 --- a/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml @@ -2,6 +2,8 @@ jobs: - job: Windows_CI_Dev pool: Win-CPU steps: + - template: templates/set-test-data-variables-step.yml + - task: CmdLine@1 displayName: 'Download cmake' inputs: @@ -11,13 +13,7 @@ jobs: - task: BatchScript@1 inputs: filename: build.bat - arguments: ' --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --config Debug Release --use_tvm --enable_pybind --use_mkldnn --use_mklml --use_openmp --build_shared_lib --build_csharp --enable_onnx_tests' + arguments: ' --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --config Debug Release --use_tvm --enable_pybind --use_mkldnn --use_mklml --use_openmp --build_shared_lib --build_csharp --enable_onnx_tests --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum)' workingFolder: "$(Build.BinariesDirectory)" - - task: CmdLine@1 - displayName: 'Clean build folders/files' - inputs: - filename: rd - arguments: '/s /q $(Agent.BuildDirectory)' - continueOnError: true - condition: always() + - template: templates/clean-agent-build-directory-step.yml diff --git a/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline-cuda9.yml b/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline-cuda9.yml index 60fa8e7ccf..d0270d8b91 100644 --- a/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline-cuda9.yml +++ b/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline-cuda9.yml @@ -9,26 +9,24 @@ jobs: inputs: scriptName: 'tools/ci_build/github/windows/set_cuda_path.ps1' arguments: '-CudaMsbuildPath C:\local\cudaMsbuildIntegration-9.1.85-windows10-x64-0 -CudaVersion $(CUDA_VERSION)' + - task: BatchScript@1 displayName: 'Setup VS2017 env vars' inputs: filename: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat' arguments: 'amd64 -vcvars_ver=14.11' modifyEnvironment: true + - task: BatchScript@1 inputs: filename: build.bat arguments: ' --skip_submodule_sync --use_cuda --cuda_home="C:\local\cuda-9.1.85-windows10-x64-0" --cudnn_home="C:\local\cudnn-9.1-windows10-x64-v7.1\cuda"' workingFolder: "$(Build.SourcesDirectory)" + - task: PowerShell@1 displayName: 'Clean up CUDA props files' inputs: scriptName: 'tools/ci_build/github/windows/clean_up_cuda_prop_files.ps1' arguments: '-CudaVersion $(CUDA_VERSION)' - - task: CmdLine@1 - displayName: 'Clean build folders/files' - inputs: - filename: rd - arguments: '/s /q $(Agent.BuildDirectory)' - continueOnError: true - condition: always() + + - template: templates/clean-agent-build-directory-step.yml diff --git a/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml index 8dd314ae78..97ca295630 100644 --- a/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml @@ -4,6 +4,8 @@ jobs: variables: CUDA_VERSION: '10.0' steps: + - template: templates/set-test-data-variables-step.yml + - task: CmdLine@1 displayName: 'Download cmake' inputs: @@ -15,26 +17,24 @@ jobs: inputs: scriptName: 'tools/ci_build/github/windows/set_cuda_path.ps1' arguments: '-CudaMsbuildPath C:\local\cudaMsbuildIntegration-10.0.130-win10 -CudaVersion $(CUDA_VERSION)' + - task: BatchScript@1 displayName: 'Setup VS2017 env vars' inputs: filename: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat' arguments: 'amd64 -vcvars_ver=14.11' modifyEnvironment: true + - task: BatchScript@1 inputs: filename: build.bat - arguments: ' --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --config Debug Release --enable_onnx_tests --use_mkldnn --build_shared_lib --build_csharp --use_cuda --cuda_home="C:\local\cuda_10.0.130_win10" --cudnn_home="C:\local\cudnn-10.0-windows10-x64-v7.3.1.20\cuda"' + arguments: ' --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --config Debug Release --enable_onnx_tests --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum) --use_mkldnn --build_shared_lib --build_csharp --use_cuda --cuda_home="C:\local\cuda_10.0.130_win10" --cudnn_home="C:\local\cudnn-10.0-windows10-x64-v7.3.1.20\cuda"' workingFolder: "$(Build.SourcesDirectory)" + - task: PowerShell@1 displayName: 'Clean up CUDA props files' inputs: scriptName: 'tools/ci_build/github/windows/clean_up_cuda_prop_files.ps1' arguments: '-CudaVersion $(CUDA_VERSION)' - - task: CmdLine@1 - displayName: 'Clean build folders/files' - inputs: - filename: rd - arguments: '/s /q $(Agent.BuildDirectory)' - continueOnError: true - condition: always() + + - template: templates/clean-agent-build-directory-step.yml diff --git a/tools/ci_build/github/linux/docker/Dockerfile.fedora_gpu b/tools/ci_build/github/linux/docker/Dockerfile.fedora_gpu index 6aa281ec24..4523847260 100644 --- a/tools/ci_build/github/linux/docker/Dockerfile.fedora_gpu +++ b/tools/ci_build/github/linux/docker/Dockerfile.fedora_gpu @@ -6,6 +6,5 @@ ENV NVIDIA_VISIBLE_DEVICES=all \ NVIDIA_REQUIRE_CUDA="cuda>=9.2" \ PATH="/usr/lib64/ccache:/opt/cmake/bin:${PATH}" ADD scripts /tmp/scripts -ARG AZURE_BLOB_KEY RUN cd /tmp/scripts && /tmp/scripts/install_fedora_gpu.sh && /tmp/scripts/install_deps.sh && rm -rf /tmp/scripts diff --git a/tools/ci_build/github/linux/docker/scripts/install_fedora_gpu.sh b/tools/ci_build/github/linux/docker/scripts/install_fedora_gpu.sh index 68429c3ae0..6ec7704406 100755 --- a/tools/ci_build/github/linux/docker/scripts/install_fedora_gpu.sh +++ b/tools/ci_build/github/linux/docker/scripts/install_fedora_gpu.sh @@ -7,7 +7,6 @@ tar -xf /tmp/azcopy/azcopy.tar.gz --strip 1 -C /tmp/azcopy /bin/cp /tmp/azcopy/azcopy /usr/bin/azcopy rm -rf /tmp/azcopy #install cuda 9.2 and cudnn 7 -#azcopy --source https://lotus.blob.core.windows.net/cudnn/linux/cuda/9.2/v7.2.1.38.tgz --destination /tmp/cudnn-9.2-linux-x64-v7.2.1.38.tgz --source-key $AZURE_BLOB_KEY aria2c -q -d /tmp 'http://developer.download.nvidia.com/compute/cuda/repos/fedora27/x86_64/cuda-repo-fedora27-10.0.130-1.x86_64.rpm' dnf install -y /tmp/cuda-repo-fedora27-10.0.130-1.x86_64.rpm dnf install -y cuda-10.0.130-1.x86_64