diff --git a/devops/scripts/benchmarks/benches/compute.py b/devops/scripts/benchmarks/benches/compute.py index d83a0d081af57..b014828b4f6b8 100644 --- a/devops/scripts/benchmarks/benches/compute.py +++ b/devops/scripts/benchmarks/benches/compute.py @@ -117,7 +117,7 @@ def benchmarks(self) -> list[Benchmark]: if options.sycl is None: return [] - if options.ur_adapter == "cuda": + if options.ur_adapter == "cuda" or options.ur_adapter == "hip": return [] benches = [] diff --git a/devops/scripts/benchmarks/benches/llamacpp.py b/devops/scripts/benchmarks/benches/llamacpp.py index 86d41ed525292..d5b250b9eb943 100644 --- a/devops/scripts/benchmarks/benches/llamacpp.py +++ b/devops/scripts/benchmarks/benches/llamacpp.py @@ -82,7 +82,7 @@ def benchmarks(self) -> list[Benchmark]: if options.sycl is None: return [] - if options.ur_adapter == "cuda": + if options.ur_adapter == "cuda" or options.ur_adapter == "hip": return [] return [LlamaBench(self)] diff --git a/devops/scripts/benchmarks/benches/syclbench.py b/devops/scripts/benchmarks/benches/syclbench.py index 9854c92d338fc..f6a04918b81d3 100644 --- a/devops/scripts/benchmarks/benches/syclbench.py +++ b/devops/scripts/benchmarks/benches/syclbench.py @@ -56,6 +56,11 @@ def setup(self): f"-DCMAKE_CXX_FLAGS=-fsycl -fsycl-targets=nvptx64-nvidia-cuda" ] + if options.ur_adapter == "hip": + configure_command += [ + f"-DCMAKE_CXX_FLAGS=-fsycl -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch={options.hip_arch}" + ] + run(configure_command, add_sycl=True) run(f"cmake --build {build_path} -j {options.build_jobs}", add_sycl=True) diff --git a/devops/scripts/benchmarks/benches/velocity.py b/devops/scripts/benchmarks/benches/velocity.py index 493298dea8b10..df4082f620b8f 100644 --- a/devops/scripts/benchmarks/benches/velocity.py +++ b/devops/scripts/benchmarks/benches/velocity.py @@ -47,7 +47,7 @@ def benchmarks(self) -> list[Benchmark]: if options.sycl is None: return [] - if options.ur_adapter == "cuda": + if options.ur_adapter == "cuda" or options.ur_adapter == "hip": return [ Hashtable(self), Bitcracker(self), @@ -83,6 +83,11 @@ def download_deps(self): def extra_cmake_args(self) -> list[str]: if options.ur_adapter == "cuda": return [f"-DUSE_NVIDIA_BACKEND=YES", f"-DUSE_SM=80"] + if options.ur_adapter == "hip": + return [ + f"-DUSE_AMD_BACKEND=YES", + f"-DUSE_AMDHIP_BACKEND={options.hip_arch}", + ] return [] def ld_libraries(self) -> list[str]: diff --git a/devops/scripts/benchmarks/main.py b/devops/scripts/benchmarks/main.py index 859aa96e50903..2d1b99386af87 100755 --- a/devops/scripts/benchmarks/main.py +++ b/devops/scripts/benchmarks/main.py @@ -446,13 +446,13 @@ def validate_and_parse_env_args(env_args): default=options.current_run_name, ) parser.add_argument( - "--cudnn_directory", + "--cudnn-directory", type=str, help="Directory for cudnn library", default=None, ) parser.add_argument( - "--cublas_directory", + "--cublas-directory", type=str, help="Directory for cublas library", default=None, @@ -469,6 +469,12 @@ def validate_and_parse_env_args(env_args): help="Number of build jobs to run simultaneously", default=options.build_jobs, ) + parser.add_argument( + "--hip-arch", + type=str, + help="HIP device architecture", + default=None, + ) args = parser.parse_args() additional_env_vars = validate_and_parse_env_args(args.env) @@ -497,6 +503,7 @@ def validate_and_parse_env_args(env_args): options.cublas_directory = args.cublas_directory options.custom_results_dir = args.results_dir options.build_jobs = args.build_jobs + options.hip_arch = args.hip_arch if args.build_igc and args.compute_runtime is None: parser.error("--build-igc requires --compute-runtime to be set")