From 9c86faa73ea7768e125aa7d39043e6d5b9215550 Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Tue, 11 Apr 2023 12:09:49 +0200 Subject: [PATCH] Build improvements (#30) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * hiprtc: vs: copy additional libraries to output directory Besides hiprtc*.dll, hiprtc-builtins*.dll and amd_comgr*.dll is also required. In this commit, the PostBuildAction is also replaced by a Content statement. This provides more robustness in the build system, as using this method there will be no race conditions if two targets copy the same file to the output directory. * Resolve "Multi-GPU error occured while hip_opengl_interop sample application is executed" * vs: copy dynamic libraries for other examples as well If a library links with a dynamic library, the corresponding dll file should be placed in the output directory so that the library can be found even if the ROCm binary path is not added to the system PATH. The solution used is the same as that used for the HIPRTC example. * cmake: disable static_host_library on windows The HIP SDK does at this time not ship with a binary for CMAKE_AR, which is required to compile this example. * ci: do not rely on PATH Removing the ROCm binary path from the global PATH allows us to check that the examples do not depend on this. The CMakeFile for each example does currently not copy the libraries to the build directory, and so for running the tests using CTest the library path is still required. * Resolve "cmake: windows + nvidia does not pass hip includes to include list" * Resolve "cmake: make examples use install()" * Resolve "hipBLAS examples' Makefiles do not work with CUDA" * cuda dockerfile: replace ARG with GID * Resolve "Windows CI with Nvidia" * Fix VS copied dependencies for HIP --------- Co-authored-by: Nara Prasetya Co-authored-by: Máté Ferenc Nagy-Egri --- .gitignore | 2 + .gitlab-ci.yml | 174 ++++++++++-- Applications/floyd_warshall/CMakeLists.txt | 13 +- .../hip-libraries-cuda-ubuntu.Dockerfile | 2 +- HIP-Basic/CMakeLists.txt | 14 +- .../assembly_to_executable/CMakeLists.txt | 61 ++--- HIP-Basic/bandwidth/CMakeLists.txt | 13 +- HIP-Basic/bandwidth/main.hip | 32 +-- HIP-Basic/bit_extract/CMakeLists.txt | 13 +- HIP-Basic/cooperative_groups/CMakeLists.txt | 13 +- HIP-Basic/device_globals/CMakeLists.txt | 13 +- HIP-Basic/device_query/CMakeLists.txt | 13 +- HIP-Basic/dynamic_shared/CMakeLists.txt | 13 +- HIP-Basic/events/CMakeLists.txt | 13 +- HIP-Basic/gpu_arch/CMakeLists.txt | 13 +- HIP-Basic/hello_world/CMakeLists.txt | 13 +- HIP-Basic/hipify/CMakeLists.txt | 13 +- HIP-Basic/inline_assembly/CMakeLists.txt | 13 +- .../llvm_ir_to_executable/CMakeLists.txt | 45 ++- .../matrix_multiplication/CMakeLists.txt | 13 +- HIP-Basic/matrix_multiplication/main.hip | 4 +- HIP-Basic/module_api/CMakeLists.txt | 13 +- HIP-Basic/moving_average/CMakeLists.txt | 13 +- HIP-Basic/moving_average/main.hip | 2 +- .../multi_gpu_data_transfer/CMakeLists.txt | 13 +- HIP-Basic/multi_gpu_data_transfer/main.hip | 16 +- HIP-Basic/occupancy/CMakeLists.txt | 13 +- HIP-Basic/opengl_interop/CMakeLists.txt | 13 +- .../opengl_interop_vs2017.vcxproj | 9 + .../opengl_interop_vs2019.vcxproj | 9 + .../opengl_interop_vs2022.vcxproj | 11 +- HIP-Basic/runtime_compilation/CMakeLists.txt | 13 +- HIP-Basic/runtime_compilation/main.hip | 24 +- .../runtime_compilation_vs2017.vcxproj | 4 +- .../runtime_compilation_vs2019.vcxproj | 4 +- .../runtime_compilation_vs2022.vcxproj | 4 +- HIP-Basic/saxpy/CMakeLists.txt | 13 +- HIP-Basic/shared_memory/CMakeLists.txt | 13 +- HIP-Basic/shared_memory/main.hip | 4 +- HIP-Basic/static_host_library/CMakeLists.txt | 33 +-- .../static_host_library_msvc_vs2017.vcxproj | 4 +- .../static_host_library_msvc_vs2019.vcxproj | 4 +- .../static_host_library_msvc_vs2022.vcxproj | 2 + .../static_host_library_vs2019.vcxproj | 2 +- HIP-Basic/streams/CMakeLists.txt | 13 +- HIP-Basic/streams/streams_vs2019.vcxproj | 2 +- HIP-Basic/texture_management/CMakeLists.txt | 13 +- HIP-Basic/vulkan_interop/CMakeLists.txt | 13 +- HIP-Basic/vulkan_interop/nvidia_hip_fix.hpp | 2 + .../vulkan_interop_vs2017.vcxproj | 11 +- .../vulkan_interop_vs2019.vcxproj | 9 + .../vulkan_interop_vs2022.vcxproj | 9 + HIP-Basic/warp_shuffle/CMakeLists.txt | 13 +- HIP-Basic/warp_shuffle/main.hip | 11 +- Libraries/CMakeLists.txt | 16 +- Libraries/Makefile | 2 +- Libraries/hipBLAS/CMakeLists.txt | 10 +- .../gemm_strided_batched/CMakeLists.txt | 23 +- .../hipBLAS/gemm_strided_batched/Makefile | 18 +- .../gemm_strided_batched_vs2017.vcxproj | 14 +- .../gemm_strided_batched_vs2019.vcxproj | 16 +- .../gemm_strided_batched_vs2022.vcxproj | 14 +- Libraries/hipBLAS/her/CMakeLists.txt | 23 +- Libraries/hipBLAS/her/Makefile | 18 +- Libraries/hipBLAS/her/her_vs2017.vcxproj | 14 +- Libraries/hipBLAS/her/her_vs2019.vcxproj | 16 +- Libraries/hipBLAS/her/her_vs2022.vcxproj | 14 +- Libraries/hipBLAS/scal/CMakeLists.txt | 23 +- Libraries/hipBLAS/scal/Makefile | 18 +- Libraries/hipBLAS/scal/scal_vs2017.vcxproj | 12 + Libraries/hipBLAS/scal/scal_vs2019.vcxproj | 14 +- Libraries/hipBLAS/scal/scal_vs2022.vcxproj | 12 + Libraries/hipCUB/CMakeLists.txt | 10 +- .../hipCUB/device_radix_sort/CMakeLists.txt | 18 +- Libraries/hipCUB/device_sum/CMakeLists.txt | 16 +- Libraries/rocBLAS/CMakeLists.txt | 10 +- Libraries/rocBLAS/level_1/axpy/CMakeLists.txt | 17 +- .../rocBLAS/level_1/axpy/axpy_vs2017.vcxproj | 9 + .../rocBLAS/level_1/axpy/axpy_vs2019.vcxproj | 9 + .../rocBLAS/level_1/axpy/axpy_vs2022.vcxproj | 9 + Libraries/rocBLAS/level_1/dot/CMakeLists.txt | 19 +- .../rocBLAS/level_1/dot/dot_vs2017.vcxproj | 9 + .../rocBLAS/level_1/dot/dot_vs2019.vcxproj | 9 + .../rocBLAS/level_1/dot/dot_vs2022.vcxproj | 9 + Libraries/rocBLAS/level_1/nrm2/CMakeLists.txt | 17 +- .../rocBLAS/level_1/nrm2/nrm2_vs2017.vcxproj | 9 + .../rocBLAS/level_1/nrm2/nrm2_vs2019.vcxproj | 9 + .../rocBLAS/level_1/nrm2/nrm2_vs2022.vcxproj | 9 + Libraries/rocBLAS/level_1/scal/CMakeLists.txt | 17 +- .../rocBLAS/level_1/scal/scal_vs2017.vcxproj | 9 + .../rocBLAS/level_1/scal/scal_vs2019.vcxproj | 9 + .../rocBLAS/level_1/scal/scal_vs2022.vcxproj | 9 + Libraries/rocBLAS/level_1/swap/CMakeLists.txt | 17 +- .../rocBLAS/level_1/swap/swap_vs2017.vcxproj | 9 + .../rocBLAS/level_1/swap/swap_vs2019.vcxproj | 9 + .../rocBLAS/level_1/swap/swap_vs2022.vcxproj | 9 + Libraries/rocBLAS/level_2/gemv/CMakeLists.txt | 17 +- .../rocBLAS/level_2/gemv/gemv_vs2017.vcxproj | 9 + .../rocBLAS/level_2/gemv/gemv_vs2019.vcxproj | 9 + .../rocBLAS/level_2/gemv/gemv_vs2022.vcxproj | 9 + Libraries/rocBLAS/level_2/her/CMakeLists.txt | 17 +- .../rocBLAS/level_2/her/her_vs2017.vcxproj | 9 + .../rocBLAS/level_2/her/her_vs2019.vcxproj | 9 + .../rocBLAS/level_2/her/her_vs2022.vcxproj | 9 + Libraries/rocBLAS/level_3/gemm/CMakeLists.txt | 17 +- .../rocBLAS/level_3/gemm/gemm_vs2017.vcxproj | 9 + .../rocBLAS/level_3/gemm/gemm_vs2019.vcxproj | 9 + .../rocBLAS/level_3/gemm/gemm_vs2022.vcxproj | 9 + .../gemm_strided_batched/CMakeLists.txt | 17 +- .../gemm_strided_batched_vs2017.vcxproj | 9 + .../gemm_strided_batched_vs2019.vcxproj | 9 + .../gemm_strided_batched_vs2022.vcxproj | 9 + Libraries/rocPRIM/CMakeLists.txt | 10 +- Libraries/rocPRIM/block_sum/CMakeLists.txt | 18 +- Libraries/rocPRIM/device_sum/CMakeLists.txt | 18 +- Libraries/rocRAND/CMakeLists.txt | 10 +- .../simple_distributions_cpp/CMakeLists.txt | 24 +- .../simple_distributions_cpp_vs2017.vcxproj | 39 +-- .../simple_distributions_cpp_vs2019.vcxproj | 41 +-- .../simple_distributions_cpp_vs2022.vcxproj | 39 +-- Libraries/rocThrust/CMakeLists.txt | 10 +- Libraries/rocThrust/device_ptr/CMakeLists.txt | 30 +- .../device_ptr/device_ptr_vs2017.vcxproj | 28 ++ .../device_ptr/device_ptr_vs2019.vcxproj | 28 ++ .../device_ptr/device_ptr_vs2022.vcxproj | 28 ++ Libraries/rocThrust/device_ptr/main.hip | 2 +- Libraries/rocThrust/norm/CMakeLists.txt | 30 +- Libraries/rocThrust/norm/norm_vs2017.vcxproj | 30 ++ Libraries/rocThrust/norm/norm_vs2019.vcxproj | 30 ++ Libraries/rocThrust/norm/norm_vs2022.vcxproj | 30 ++ Libraries/rocThrust/reduce_sum/CMakeLists.txt | 30 +- .../reduce_sum/reduce_sum_vs2017.vcxproj | 28 ++ .../reduce_sum/reduce_sum_vs2019.vcxproj | 28 ++ .../reduce_sum/reduce_sum_vs2022.vcxproj | 28 ++ .../rocThrust/remove_points/CMakeLists.txt | 26 +- .../remove_points_vs2017.vcxproj | 28 ++ .../remove_points_vs2019.vcxproj | 28 ++ .../remove_points_vs2022.vcxproj | 28 ++ Libraries/rocThrust/saxpy/CMakeLists.txt | 27 +- .../rocThrust/saxpy/saxpy_vs2017.vcxproj | 28 ++ .../rocThrust/saxpy/saxpy_vs2019.vcxproj | 28 ++ .../rocThrust/saxpy/saxpy_vs2022.vcxproj | 28 ++ Libraries/rocThrust/vectors/CMakeLists.txt | 27 +- .../rocThrust/vectors/vectors_vs2017.vcxproj | 28 ++ .../rocThrust/vectors/vectors_vs2019.vcxproj | 28 ++ .../rocThrust/vectors/vectors_vs2022.vcxproj | 28 ++ README.md | 1 + ROCm-Examples-Portable-VS2017.sln | 256 ++++++++++++++++++ ROCm-Examples-Portable-VS2019.sln | 256 ++++++++++++++++++ ROCm-Examples-Portable-VS2022.sln | 256 ++++++++++++++++++ 150 files changed, 2673 insertions(+), 551 deletions(-) create mode 100644 ROCm-Examples-Portable-VS2017.sln create mode 100644 ROCm-Examples-Portable-VS2019.sln create mode 100644 ROCm-Examples-Portable-VS2022.sln diff --git a/.gitignore b/.gitignore index 58ba3b158..c3faee4a7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ [Rr]elease *.vcxproj.user [Bb]uild +*.pdb +build diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 07bb99f8b..475c1f685 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -30,8 +30,7 @@ include: - /rules.yaml variables: - # suppressing 186 allows us to write `assert(a && "message")`. - CUDA_FLAGS: "-Xcompiler -Wall,-Wextra,-Werror --Werror all-warnings --diag-suppress 186" + CUDA_FLAGS: "-Xcompiler -Wall,-Wextra,-Werror --Werror all-warnings" CXX_FLAGS: "-Wall -Wextra -Werror" HIP_FLAGS: "-Wall -Wextra -Werror" @@ -148,6 +147,7 @@ build:cmake-rocm: exit 1 fi - cmake --build $CI_PROJECT_DIR/build + - cmake --install $CI_PROJECT_DIR/build --prefix $CI_PROJECT_DIR/install build:cmake-cuda: image: $DOCKER_TAG_PREFIX:cuda-ubuntu @@ -171,6 +171,7 @@ build:cmake-cuda: exit 1 fi - cmake --build $CI_PROJECT_DIR/build + - cmake --install $CI_PROJECT_DIR/build --prefix $CI_PROJECT_DIR/install .test: stage: test @@ -199,25 +200,42 @@ test:cuda: extends: - .rules:test stage: test - tags: - - windows - - shell - - rx6900 needs: [] parallel: matrix: - BUILD_TYPE: [Debug, Release] -test:rocm-windows-vs2019: +.test:rocm-windows: extends: - .test:windows + tags: + - windows + - shell + - rx6900 + +.test:windows-vs: script: + # MSBuild cannot properly resolve the ` - & "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe" + & $MSBUILD /maxCpuCount - /warnAsError "/p:Configuration=$BUILD_TYPE" - "$CI_PROJECT_DIR/ROCm-Examples-VS2019.sln" + /warnAsError + /warnAsMessage:MSB3026 + $MSBUILD_EXTRA_OPTIONS + "$CI_PROJECT_DIR/$SOLUTION" + +test:rocm-windows-vs2019: + extends: + - .test:rocm-windows + - .test:windows-vs + variables: + MSBUILD: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe" + SOLUTION: "ROCm-Examples-VS2019.sln" + script: + - !reference [".test:windows-vs", script] - |- $SkippedExamples = @( "hip_vulkan_interop_vs2019.exe" # Graphical @@ -239,44 +257,140 @@ test:rocm-windows-vs2019: test:rocm-windows-vs2017: extends: - - .test:windows - script: - - > - & "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe" - /maxCpuCount - /warnAsError - "/p:Configuration=$BUILD_TYPE" - "$CI_PROJECT_DIR/ROCm-Examples-VS2017.sln" + - .test:rocm-windows + - .test:windows-vs + variables: + MSBUILD: "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe" + SOLUTION: "ROCm-Examples-VS2017.sln" + # See https://developercommunity.visualstudio.com/t/windowstargetplatformversion-makes-it-impossible-t/140294 + MSBUILD_EXTRA_OPTIONS: "/p:WindowsTargetPlatformVersion=10.0.20348.0" test:rocm-windows-vs2022: extends: - - .test:windows - script: - - > - & "C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/MSBuild.exe" - /maxCpuCount - /warnAsError - "/p:Configuration=$BUILD_TYPE" - "$CI_PROJECT_DIR/ROCm-Examples-VS2022.sln" + - .test:rocm-windows + - .test:windows-vs + variables: + MSBUILD: "C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/MSBuild.exe" + SOLUTION: "ROCm-Examples-VS2022.sln" test:rocm-windows-cmake: extends: - - .test:windows + - .test:rocm-windows script: + - Import-Module 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Microsoft.VisualStudio.DevShell.dll' + - Enter-VsDevShell -InstallPath 'C:\Program Files\Microsoft Visual Studio\2022\Community' -SkipAutomaticLocation -DevCmdArguments '/arch=x64 /host_arch=x64 /no_logo' - cmake -S "$CI_PROJECT_DIR" -B "$CI_PROJECT_DIR/build" -G Ninja + -D CMAKE_CXX_COMPILER:PATH="${env:HIP_PATH}\bin\clang++.exe" + -D CMAKE_HIP_COMPILER:PATH="${env:HIP_PATH}\bin\clang++.exe" + -D CMAKE_HIP_LINK_EXECUTABLE:PATH="${env:HIP_PATH}\bin\lld-link.exe" + -D CMAKE_HIP_FLAGS="-fuse-ld=lld" -D CMAKE_CXX_FLAGS="$CXX_FLAGS" + -D CMAKE_CXX_COMPILER:PATH="${env:HIP_PATH}\bin\clang++.exe" + -D CMAKE_PREFIX_PATH:PATH="${env:HIP_PATH}" -D CMAKE_HIP_FLAGS="$HIP_FLAGS" -D CMAKE_BUILD_TYPE="$BUILD_TYPE" -D CMAKE_HIP_ARCHITECTURES=gfx1030 - -D CMAKE_RC_COMPILER="C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/rc.exe" + -D CMAKE_TOOLCHAIN_FILE:PATH="C:\Tools\Microsoft\vcpkg\scripts\buildsystems\vcpkg.cmake" + 2>&1 | Tee-Object -filepath cmake_log.txt + - |- + if (Select-String -Path cmake_log.txt -Pattern "could not find") { + throw "Some cmake libraries are missing" + } + - cmake --build "$CI_PROJECT_DIR/build" + # CMake does not copy the dependencies to the test folder, and there is no sufficiently concise way of doing it. + # So for now, just add the library path here. + - $env:PATH = "${env:HIP_PATH}\bin;" + $env:PATH + - cd "$CI_PROJECT_DIR/build" && ctest --output-on-failure --timeout 10 + - cmake --install "$CI_PROJECT_DIR/build" --prefix "$CI_PROJECT_DIR/install" + +.test:nvcc-windows: + extends: + - .test:windows + tags: + - nvcc-windows + before_script: + # To test for NVIDIA, we need to set the platform toolset to HIP_nvcc. This cannot be done with /p:PlatformToolset + # though, as some examples use the regular msvc toolchain. + - | + Foreach ($f in (Get-ChildItem -Recurse -Filter "*.vcxproj" "$CI_PROJECT_DIR").FullName) { + (Get-Content $f) | + % { $_ -replace "HIP_clang","HIP_nvcc" } | + Set-Content $f + } + +test:nvcc-windows-vs2019: + extends: + - .test:nvcc-windows + - .test:windows-vs + variables: + MSBUILD: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe" + SOLUTION: "ROCm-Examples-Portable-VS2019.sln" + script: + - !reference [".test:windows-vs", script] + - |- + $SkippedExamples = @( + "hip_vulkan_interop_vs2019.exe" # Graphical + "hip_opengl_interop_vs2019.exe" # Graphical + ) + Get-ChildItem -Path "$CI_PROJECT_DIR/$BUILD_TYPE" -Filter "*_vs2019.exe" | + ForEach-Object { + if ($SkippedExamples -NotContains $_.Name) { + echo "--" $_.Name + & "$CI_PROJECT_DIR/$BUILD_TYPE/$_" + if (!$?) { + throw "{0} returned: {1}" -f $_.Name, $LASTEXITCODE + } + } else { + echo "-- SKIPPING " $_.Name + } + } + +test:nvcc-windows-vs2017: + extends: + - .test:nvcc-windows + - .test:windows-vs + variables: + MSBUILD: "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe" + SOLUTION: "ROCm-Examples-Portable-VS2017.sln" + # See https://developercommunity.visualstudio.com/t/windowstargetplatformversion-makes-it-impossible-t/140294 + MSBUILD_EXTRA_OPTIONS: "/p:WindowsTargetPlatformVersion=10.0.20348.0" + +test:nvcc-windows-vs2022: + extends: + - .test:nvcc-windows + - .test:windows-vs + variables: + MSBUILD: "C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/MSBuild.exe" + SOLUTION: "ROCm-Examples-Portable-VS2022.sln" + +test:nvcc-windows-cmake: + extends: + - .test:nvcc-windows + script: + # Import the VisualStudio 2022 development environment + - |- + $vs = &"C:/Program Files (x86)/Microsoft Visual Studio/Installer/vswhere.exe" -version 17.0 -property InstallationPath + Import-Module (Join-Path $vs "Common7/Tools/Microsoft.VisualStudio.DevShell.dll") + Enter-VsDevShell -VsInstallPath $vs -SkipAutomaticLocation -DevCmdArguments "/arch=x64 /host_arch=x64 /no_logo" + # Note: The current version of the HIP SDK does not ship with CMake config files for Nvidia, so we can only test + # the HIP-Basic and Applications examples. It is expected that some dependencies will not be found for this. + - cmake + -S "$CI_PROJECT_DIR" + -B "$CI_PROJECT_DIR/build" + -G Ninja + -D CMAKE_CXX_COMPILER="cl.exe" + -D CMAKE_BUILD_TYPE="$BUILD_TYPE" -D CMAKE_TOOLCHAIN_FILE="C:/Tools/Microsoft/vcpkg/scripts/buildsystems/vcpkg.cmake" + -D GPU_RUNTIME=CUDA 2>&1 | Tee-Object -filepath cmake_log.txt - |- if (Select-String -Path cmake_log.txt -Pattern "could not find") { throw "Some cmake libraries are missing" } - cmake --build "$CI_PROJECT_DIR/build" - - cd "$CI_PROJECT_DIR/build" && ctest --output-on-failure + - cd "$CI_PROJECT_DIR/build" + - ctest --output-on-failure --timeout 10 + - cmake --install "$CI_PROJECT_DIR/build" --prefix "$CI_PROJECT_DIR/install" diff --git a/Applications/floyd_warshall/CMakeLists.txt b/Applications/floyd_warshall/CMakeLists.txt index 1c6e60abe..92aba905f 100644 --- a/Applications/floyd_warshall/CMakeLists.txt +++ b/Applications/floyd_warshall/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -56,3 +59,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/Dockerfiles/hip-libraries-cuda-ubuntu.Dockerfile b/Dockerfiles/hip-libraries-cuda-ubuntu.Dockerfile index d40a0340c..0bcde9d0b 100644 --- a/Dockerfiles/hip-libraries-cuda-ubuntu.Dockerfile +++ b/Dockerfiles/hip-libraries-cuda-ubuntu.Dockerfile @@ -77,7 +77,7 @@ RUN wget https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/refs/tags/rocm- ARG GID=109 # Add the render group and a user with sudo permissions for the container -RUN groupadd --system --gid ${ARG} render \ +RUN groupadd --system --gid ${GID} render \ && useradd -Um -G sudo,video,render developer \ && echo developer ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/developer \ && chmod 0440 /etc/sudoers.d/developer diff --git a/HIP-Basic/CMakeLists.txt b/HIP-Basic/CMakeLists.txt index b163394f2..785785793 100644 --- a/HIP-Basic/CMakeLists.txt +++ b/HIP-Basic/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -30,9 +30,12 @@ if(NOT "${GPU_RUNTIME}" STREQUAL "CUDA") add_subdirectory(module_api) endif() +if(WIN32 AND NOT "${GPU_RUNTIME}" STREQUAL "CUDA") + add_subdirectory(cooperative_groups) +endif() + add_subdirectory(bandwidth) add_subdirectory(bit_extract) -add_subdirectory(cooperative_groups) add_subdirectory(device_query) add_subdirectory(device_globals) add_subdirectory(dynamic_shared) @@ -57,9 +60,12 @@ add_subdirectory(occupancy) add_subdirectory(runtime_compilation) add_subdirectory(saxpy) add_subdirectory(shared_memory) -add_subdirectory(static_host_library) +# We cannot build the static library on Windows as the HIP SDK does not include CMAKE_AR. +if(NOT WIN32 AND NOT "${GPU_RUNTIME}" STREQUAL "HIP") + add_subdirectory(static_host_library) +endif() add_subdirectory(streams) -# temporarily exclude texture management on Windows +# temporarily exclude texture management on Windows if(NOT WIN32) add_subdirectory(texture_management) endif() diff --git a/HIP-Basic/assembly_to_executable/CMakeLists.txt b/HIP-Basic/assembly_to_executable/CMakeLists.txt index 2f84c1e7b..a59501077 100644 --- a/HIP-Basic/assembly_to_executable/CMakeLists.txt +++ b/HIP-Basic/assembly_to_executable/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -38,12 +38,15 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() -if (NOT DEFINED CMAKE_HIP_ARCHITECTURES) +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + +if(NOT DEFINED CMAKE_HIP_ARCHITECTURES) set(GPU_ARCHITECTURES "all" CACHE STRING "GPU architectures to compile for") else() set(GPU_ARCHITECTURES "${CMAKE_HIP_ARCHITECTURES}" CACHE STRING "GPU architectures to compile for") @@ -59,7 +62,7 @@ message(STATUS "GPU_ARCHITECTURES: ${GPU_ARCHITECTURES}") set_source_files_properties(main.hip PROPERTIES COMPILE_OPTIONS "--cuda-host-only") -if (WIN32) +if(WIN32) set(OBJ_TYPE obj) set(NULDEV NUL) set(HOST_TARGET x86_64-pc-windows-msvc) @@ -75,31 +78,25 @@ endif() # The compiler needs -target amdgcn-amd-amdhsa -mcpu=gfx* in order to assemble the object file # for the right GPU. foreach(HIP_ARCHITECTURE ${GPU_ARCHITECTURES}) - message(STATUS "Generating main_${HIP_ARCHITECTURE}.${OBJ_TYPE}") add_custom_command( OUTPUT main_${HIP_ARCHITECTURE}.${OBJ_TYPE} - COMMAND ${CMAKE_HIP_COMPILER} -fPIC -target amdgcn-amd-amdhsa -mcpu=${HIP_ARCHITECTURE} - ${CMAKE_CURRENT_SOURCE_DIR}/main_${HIP_ARCHITECTURE}.s - -o ${CMAKE_CURRENT_BINARY_DIR}/main_${HIP_ARCHITECTURE}.${OBJ_TYPE} + COMMAND + ${CMAKE_HIP_COMPILER} -fPIC -target amdgcn-amd-amdhsa -mcpu=${HIP_ARCHITECTURE} + ${CMAKE_CURRENT_SOURCE_DIR}/main_${HIP_ARCHITECTURE}.s + -o ${CMAKE_CURRENT_BINARY_DIR}/main_${HIP_ARCHITECTURE}.${OBJ_TYPE} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/main_${HIP_ARCHITECTURE}.s - VERBATIM) + VERBATIM + COMMENT "Compiling ASM main_${HIP_ARCHITECTURE}.${OBJ_TYPE}") endforeach() # Create an offload-bundle from the assembled object files. This needs the clang-offload-bundler tool. find_program( OFFLOAD_BUNDLER_COMMAND clang-offload-bundler - PATH_SUFFIXES bin - PATHS - ${ROCM_ROOT}/llvm - ${CMAKE_INSTALL_PREFIX}/llvm + PATH_SUFFIXES + llvm/bin + bin REQUIRED) -if(OFFLOAD_BUNDLER_COMMAND) - message(STATUS "clang-offload-bundler found: ${CLANG_OFFLOAD_BUNDLER}") -else() - message(FATAL_ERROR "clang-offload-bundler not found") -endif() - # Generate object bundle. # The invocation to generate is # clang-offload-bundler -targets= -input= -inputs= ... -output= @@ -129,23 +126,18 @@ add_custom_command( ${BUNDLE_INPUTS} "-output=${BUNDLE}" DEPENDS ${BUNDLE_OBJECTS} - VERBATIM) + VERBATIM + COMMENT "Bundling fat binary ${BUNDLE}") # Create the device binary by assembling the template that includes # the offload bundle that was just generated using an .incbin directive. # This needs an assembler. find_program( LLVM_MC_COMMAND llvm-mc - PATH_SUFFIXES bin - PATHS - ${ROCM_ROOT}/llvm - ${CMAKE_INSTALL_PREFIX}/llvm) - -if(LLVM_MC_COMMAND) - message(STATUS "llvm-mc found: ${LLVM_MC_COMMAND}") -else() - message(FATAL_ERROR "llvm-mc not found") -endif() + PATH_SUFFIXES + llvm/bin + bin + REQUIRED) # Invoke llvm-mc to generate an object file containing the offload bundle. set(DEVICE_OBJECT "${CMAKE_CURRENT_BINARY_DIR}/main_device.${OBJ_TYPE}") @@ -158,7 +150,8 @@ add_custom_command( -o "${DEVICE_OBJECT}" --filetype=obj DEPENDS "${BUNDLE}" - VERBATIM) + VERBATIM + COMMENT "Bundling object ${DEVICE_OBJECT}") # Finally, create the executable. add_executable( @@ -172,3 +165,5 @@ add_test(${example_name} ${example_name}) set(include_dirs "../../Common") target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/bandwidth/CMakeLists.txt b/HIP-Basic/bandwidth/CMakeLists.txt index 3d319b430..aec3d62bd 100644 --- a/HIP-Basic/bandwidth/CMakeLists.txt +++ b/HIP-Basic/bandwidth/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -54,3 +57,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/bandwidth/main.hip b/HIP-Basic/bandwidth/main.hip index 56d127aef..9d07ec60e 100644 --- a/HIP-Basic/bandwidth/main.hip +++ b/HIP-Basic/bandwidth/main.hip @@ -47,11 +47,11 @@ enum class TestMode : unsigned int /// \brief Run host to device or device to host transfer, bandwidth calculated for the specified configuration std::vector - run_bandwidth_host_device(const std::vector& memory_copy_measurement_sizes, - const int device, - hipMemcpyKind hip_memcpy_kind, - const MemoryMode memory_mode, - const unsigned int trails) + run_bandwidth_host_device(const std::vector& memory_copy_measurement_sizes, + const int device, + hipMemcpyKind hip_memcpy_kind, + const MemoryMode memory_mode, + const unsigned int trails) { // Check for invalid configurations @@ -249,10 +249,9 @@ std::vector } /// \brief Run device to device transfer, bandwidth calculated for the specified configuration -std::vector - run_bandwidth_device_device(std::vector memory_copy_measurement_sizes, - const int device, - const unsigned int trails) +std::vector run_bandwidth_device_device(std::vector memory_copy_measurement_sizes, + const int device, + const unsigned int trails) { // The bandwidths calculated will be stored in bandwidth_measurements @@ -333,13 +332,12 @@ std::vector return bandwidth_measurements; } -std::vector - generate_measurement_sizes_range(const size_t start_measurement, - const size_t end_measurement, - const size_t stride_between_measurements) +std::vector generate_measurement_sizes_range(const size_t start_measurement, + const size_t end_measurement, + const size_t stride_between_measurements) { // The size of data to copy for each measurement - std::vector memory_copy_measurement_sizes; + std::vector memory_copy_measurement_sizes; for(size_t i = start_measurement; i < end_measurement; i += stride_between_measurements) { @@ -349,7 +347,7 @@ std::vector return memory_copy_measurement_sizes; } -std::vector generate_measurement_sizes_shmoo() +std::vector generate_measurement_sizes_shmoo() { // Constants for shmoo mode @@ -371,7 +369,7 @@ std::vector generate_measurement_sizes_shmoo() const size_t shmoo_limit_32MB = 1 << 25; // 32 MB // The size of data to copy for each measurement - std::vector memory_copy_measurement_sizes; + std::vector memory_copy_measurement_sizes; size_t current_size = 0; @@ -573,7 +571,7 @@ int main(int argc, char** argv) } } - std::vector memory_copy_measurement_sizes; + std::vector memory_copy_measurement_sizes; if(mode_of_test == TestMode::RANGED) { memory_copy_measurement_sizes diff --git a/HIP-Basic/bit_extract/CMakeLists.txt b/HIP-Basic/bit_extract/CMakeLists.txt index 81eec2d01..907b316cf 100644 --- a/HIP-Basic/bit_extract/CMakeLists.txt +++ b/HIP-Basic/bit_extract/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/cooperative_groups/CMakeLists.txt b/HIP-Basic/cooperative_groups/CMakeLists.txt index c7efc0b6c..e6dac1e51 100644 --- a/HIP-Basic/cooperative_groups/CMakeLists.txt +++ b/HIP-Basic/cooperative_groups/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/device_globals/CMakeLists.txt b/HIP-Basic/device_globals/CMakeLists.txt index 5cc4ea8c9..eceb522de 100644 --- a/HIP-Basic/device_globals/CMakeLists.txt +++ b/HIP-Basic/device_globals/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/device_query/CMakeLists.txt b/HIP-Basic/device_query/CMakeLists.txt index 20d02ddb0..ff6013b67 100644 --- a/HIP-Basic/device_query/CMakeLists.txt +++ b/HIP-Basic/device_query/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -46,11 +46,14 @@ set(CMAKE_${USED_LANGUAGE}_STANDARD 17) set(CMAKE_${USED_LANGUAGE}_EXTENSIONS OFF) set(CMAKE_${USED_LANGUAGE}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.cpp) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -71,3 +74,5 @@ if(GPU_RUNTIME STREQUAL "HIP") find_package(HIP) target_link_libraries(${example_name} PRIVATE hip::host) endif() + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/dynamic_shared/CMakeLists.txt b/HIP-Basic/dynamic_shared/CMakeLists.txt index 807575364..7b3dc72e3 100644 --- a/HIP-Basic/dynamic_shared/CMakeLists.txt +++ b/HIP-Basic/dynamic_shared/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/events/CMakeLists.txt b/HIP-Basic/events/CMakeLists.txt index b9f03752e..260a82315 100644 --- a/HIP-Basic/events/CMakeLists.txt +++ b/HIP-Basic/events/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/gpu_arch/CMakeLists.txt b/HIP-Basic/gpu_arch/CMakeLists.txt index 9811d48b0..0432a000a 100644 --- a/HIP-Basic/gpu_arch/CMakeLists.txt +++ b/HIP-Basic/gpu_arch/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/hello_world/CMakeLists.txt b/HIP-Basic/hello_world/CMakeLists.txt index 71b61ccfc..80d2e653a 100644 --- a/HIP-Basic/hello_world/CMakeLists.txt +++ b/HIP-Basic/hello_world/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -43,11 +43,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -60,3 +63,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/hipify/CMakeLists.txt b/HIP-Basic/hipify/CMakeLists.txt index 4fd80814a..e8182d1a0 100644 --- a/HIP-Basic/hipify/CMakeLists.txt +++ b/HIP-Basic/hipify/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -45,11 +45,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + # create main.hip add_custom_command( OUTPUT main.hip @@ -68,3 +71,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/inline_assembly/CMakeLists.txt b/HIP-Basic/inline_assembly/CMakeLists.txt index ef2b541b0..641c8f268 100644 --- a/HIP-Basic/inline_assembly/CMakeLists.txt +++ b/HIP-Basic/inline_assembly/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/llvm_ir_to_executable/CMakeLists.txt b/HIP-Basic/llvm_ir_to_executable/CMakeLists.txt index 14fb34c3e..005df4a0e 100644 --- a/HIP-Basic/llvm_ir_to_executable/CMakeLists.txt +++ b/HIP-Basic/llvm_ir_to_executable/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -38,12 +38,15 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() -if (NOT DEFINED CMAKE_HIP_ARCHITECTURES) +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + +if(NOT DEFINED CMAKE_HIP_ARCHITECTURES) set(GPU_ARCHITECTURES "all" CACHE STRING "GPU architectures to compile for") else() set(GPU_ARCHITECTURES "${CMAKE_HIP_ARCHITECTURES}" CACHE STRING "GPU architectures to compile for") @@ -59,7 +62,7 @@ message(STATUS "GPU_ARCHITECTURES: ${GPU_ARCHITECTURES}") set_source_files_properties(main.hip PROPERTIES COMPILE_OPTIONS "--cuda-host-only") -if (WIN32) +if(WIN32) set(OBJ_TYPE obj) set(NULDEV NUL) set(HOST_TARGET x86_64-pc-windows-msvc) @@ -75,14 +78,15 @@ endif() # The compiler needs -target amdgcn-amd-amdhsa -mcpu=gfx* in order to assemble the object file # for the right GPU. foreach(HIP_ARCHITECTURE ${GPU_ARCHITECTURES}) - message(STATUS "Generating main_${HIP_ARCHITECTURE}.${OBJ_TYPE}") add_custom_command( OUTPUT main_${HIP_ARCHITECTURE}.${OBJ_TYPE} - COMMAND ${CMAKE_HIP_COMPILER} -fPIC -target amdgcn-amd-amdhsa -mcpu=${HIP_ARCHITECTURE} - ${CMAKE_CURRENT_SOURCE_DIR}/main_${HIP_ARCHITECTURE}.ll - -o ${CMAKE_CURRENT_BINARY_DIR}/main_${HIP_ARCHITECTURE}.${OBJ_TYPE} + COMMAND + ${CMAKE_HIP_COMPILER} -fPIC -target amdgcn-amd-amdhsa -mcpu=${HIP_ARCHITECTURE} + ${CMAKE_CURRENT_SOURCE_DIR}/main_${HIP_ARCHITECTURE}.ll + -o ${CMAKE_CURRENT_BINARY_DIR}/main_${HIP_ARCHITECTURE}.${OBJ_TYPE} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/main_${HIP_ARCHITECTURE}.ll - VERBATIM) + VERBATIM + COMMENT "Generating main_${HIP_ARCHITECTURE}.${OBJ_TYPE}") endforeach() # Create an offload-bundle from the assembled object files. This needs the clang-offload-bundler tool. @@ -94,12 +98,6 @@ find_program( ${CMAKE_INSTALL_PREFIX}/llvm REQUIRED) -if(OFFLOAD_BUNDLER_COMMAND) - message(STATUS "clang-offload-bundler found: ${CLANG_OFFLOAD_BUNDLER}") -else() - message(FATAL_ERROR "clang-offload-bundler not found") -endif() - # Generate object bundle. # The invocation to generate is # clang-offload-bundler -targets= -input= -inputs= ... -output= @@ -138,14 +136,9 @@ find_program( LLVM_MC_COMMAND llvm-mc PATH_SUFFIXES bin PATHS - ${ROCM_ROOT}/llvm - ${CMAKE_INSTALL_PREFIX}/llvm) - -if(LLVM_MC_COMMAND) - message(STATUS "llvm-mc found: ${LLVM_MC_COMMAND}") -else() - message(FATAL_ERROR "llvm-mc not found") -endif() + ${ROCM_ROOT}/llvm + ${CMAKE_INSTALL_PREFIX}/llvm + REQUIRED) # Invoke llvm-mc to generate an object file containing the offload bundle. set(DEVICE_OBJECT "${CMAKE_CURRENT_BINARY_DIR}/main_device.${OBJ_TYPE}") @@ -172,3 +165,5 @@ add_test(${example_name} ${example_name}) set(include_dirs "../../Common") target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/matrix_multiplication/CMakeLists.txt b/HIP-Basic/matrix_multiplication/CMakeLists.txt index 5d2f38eab..61cb2735e 100644 --- a/HIP-Basic/matrix_multiplication/CMakeLists.txt +++ b/HIP-Basic/matrix_multiplication/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -54,3 +57,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/matrix_multiplication/main.hip b/HIP-Basic/matrix_multiplication/main.hip index e015e97fc..e5729c813 100644 --- a/HIP-Basic/matrix_multiplication/main.hip +++ b/HIP-Basic/matrix_multiplication/main.hip @@ -184,8 +184,8 @@ int main(int argc, const char* argv[]) HIP_CHECK(hipMemcpy(d_A, A.data(), a_bytes, hipMemcpyHostToDevice)); HIP_CHECK(hipMemcpy(d_B, B.data(), b_bytes, hipMemcpyHostToDevice)); - constexpr dim3 block_dim(block_size, block_size); - const dim3 grid_dim(c_cols / block_size, c_rows / block_size); + const dim3 block_dim(block_size, block_size); + const dim3 grid_dim(c_cols / block_size, c_rows / block_size); // Launch matrix multiplication kernel. std::cout << "Matrix multiplication: [" << a_rows << 'x' << a_cols << "] * [" << b_rows << 'x' diff --git a/HIP-Basic/module_api/CMakeLists.txt b/HIP-Basic/module_api/CMakeLists.txt index f5fc951fb..1cfdfd639 100644 --- a/HIP-Basic/module_api/CMakeLists.txt +++ b/HIP-Basic/module_api/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -38,11 +38,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + set(offload_archs ${CMAKE_HIP_ARCHITECTURES}) list(TRANSFORM offload_archs PREPEND "--offload-arch=") @@ -74,3 +77,5 @@ add_test(${example_name} ${example_name}) set(include_dirs "../../Common") target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/moving_average/CMakeLists.txt b/HIP-Basic/moving_average/CMakeLists.txt index 00ac50492..964b7ee6d 100644 --- a/HIP-Basic/moving_average/CMakeLists.txt +++ b/HIP-Basic/moving_average/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/moving_average/main.hip b/HIP-Basic/moving_average/main.hip index a5087a3d7..f59086145 100644 --- a/HIP-Basic/moving_average/main.hip +++ b/HIP-Basic/moving_average/main.hip @@ -101,7 +101,7 @@ int main() std::transform(h_input.begin(), h_input.end(), h_input.begin(), - [](unsigned int i) { return i % window_size; }); + [&](unsigned int i) { return i % window_size; }); // Allocate device input data and copy host data to it. unsigned int* d_input{}; diff --git a/HIP-Basic/multi_gpu_data_transfer/CMakeLists.txt b/HIP-Basic/multi_gpu_data_transfer/CMakeLists.txt index 6b93529a4..f52ad8ef7 100644 --- a/HIP-Basic/multi_gpu_data_transfer/CMakeLists.txt +++ b/HIP-Basic/multi_gpu_data_transfer/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -56,3 +59,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/multi_gpu_data_transfer/main.hip b/HIP-Basic/multi_gpu_data_transfer/main.hip index 3409fb957..c42e98493 100644 --- a/HIP-Basic/multi_gpu_data_transfer/main.hip +++ b/HIP-Basic/multi_gpu_data_transfer/main.hip @@ -68,7 +68,11 @@ std::pair check_peer_to_peer_support() void enable_peer_to_peer(const int current_gpu, const int peer_gpu) { // Must be on a multi-gpu system. - assert(current_gpu != peer_gpu && "Current and peer devices must be different."); + if(current_gpu == peer_gpu) + { + std::cerr << "Current and peer devices must be different." << std::endl; + exit(error_exit_code); + } // Set current GPU as default device for subsequent API calls. HIP_CHECK(hipSetDevice(current_gpu)); @@ -81,7 +85,11 @@ void enable_peer_to_peer(const int current_gpu, const int peer_gpu) void disable_peer_to_peer(const unsigned int current_gpu, const unsigned int peer_gpu) { // Must be on a multi-gpu system. - assert(current_gpu != peer_gpu && "Current and peer devices must be different."); + if(current_gpu == peer_gpu) + { + std::cerr << "Current and peer devices must be different." << std::endl; + exit(error_exit_code); + } // Set current GPU as default device for subsequent API calls. HIP_CHECK(hipSetDevice(current_gpu)); @@ -177,8 +185,8 @@ int main() constexpr unsigned int grid_size = (width + block_size - 1) / block_size; // Block and grid sizes in 2D. - constexpr dim3 block_dim(block_size, block_size); - constexpr dim3 grid_dim(grid_size, grid_size); + const dim3 block_dim(block_size, block_size); + const dim3 grid_dim(grid_size, grid_size); // Allocate host input matrix and initialize with increasing sequence 1, 2, 3, .... std::vector matrix(size); diff --git a/HIP-Basic/occupancy/CMakeLists.txt b/HIP-Basic/occupancy/CMakeLists.txt index 172bb3f41..21f695814 100644 --- a/HIP-Basic/occupancy/CMakeLists.txt +++ b/HIP-Basic/occupancy/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -54,3 +57,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/opengl_interop/CMakeLists.txt b/HIP-Basic/opengl_interop/CMakeLists.txt index 9a5462a4c..f334a1bd7 100644 --- a/HIP-Basic/opengl_interop/CMakeLists.txt +++ b/HIP-Basic/opengl_interop/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip ../../External/glad/glad.cpp) set(include_dirs "../../Common" "../../External") @@ -62,3 +65,5 @@ endif() set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) set_source_files_properties(vulkan_utils.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/opengl_interop/opengl_interop_vs2017.vcxproj b/HIP-Basic/opengl_interop/opengl_interop_vs2017.vcxproj index 90ac6e369..c8354d429 100644 --- a/HIP-Basic/opengl_interop/opengl_interop_vs2017.vcxproj +++ b/HIP-Basic/opengl_interop/opengl_interop_vs2017.vcxproj @@ -26,6 +26,11 @@ + + + PreserveNewest + + Application @@ -104,6 +109,8 @@ __clang__;__HIP__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(MSBuildProjectDirectory)\..\..\External;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console @@ -122,6 +129,8 @@ __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(MSBuildProjectDirectory)\..\..\External;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console diff --git a/HIP-Basic/opengl_interop/opengl_interop_vs2019.vcxproj b/HIP-Basic/opengl_interop/opengl_interop_vs2019.vcxproj index df9ee2b16..a23807bc2 100644 --- a/HIP-Basic/opengl_interop/opengl_interop_vs2019.vcxproj +++ b/HIP-Basic/opengl_interop/opengl_interop_vs2019.vcxproj @@ -26,6 +26,11 @@ + + + PreserveNewest + + Application @@ -88,6 +93,8 @@ __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(MSBuildProjectDirectory)\..\..\External;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console @@ -122,6 +129,8 @@ __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(MSBuildProjectDirectory)\..\..\External;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console diff --git a/HIP-Basic/opengl_interop/opengl_interop_vs2022.vcxproj b/HIP-Basic/opengl_interop/opengl_interop_vs2022.vcxproj index a1c8f65ae..01ecbf3c5 100644 --- a/HIP-Basic/opengl_interop/opengl_interop_vs2022.vcxproj +++ b/HIP-Basic/opengl_interop/opengl_interop_vs2022.vcxproj @@ -26,6 +26,11 @@ + + + PreserveNewest + + Application @@ -88,12 +93,14 @@ __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(MSBuildProjectDirectory)\..\..\External;%(AdditionalIncludeDirectories) stdcpp17 - $(GLFW_DIR)\lib-vc2022 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console true glfw3dll.lib;%(AdditionalDependencies) + $(GLFW_DIR)\lib-vc2022 @@ -122,6 +129,8 @@ __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(MSBuildProjectDirectory)\..\..\External;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console diff --git a/HIP-Basic/runtime_compilation/CMakeLists.txt b/HIP-Basic/runtime_compilation/CMakeLists.txt index 0ca404580..4dc7843ec 100644 --- a/HIP-Basic/runtime_compilation/CMakeLists.txt +++ b/HIP-Basic/runtime_compilation/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -68,3 +71,5 @@ endif() target_link_libraries(${example_name} ${link_libs}) target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/runtime_compilation/main.hip b/HIP-Basic/runtime_compilation/main.hip index f979e4202..18dd6a520 100644 --- a/HIP-Basic/runtime_compilation/main.hip +++ b/HIP-Basic/runtime_compilation/main.hip @@ -32,9 +32,11 @@ // SAXPY kernel stored as a string static constexpr auto saxpy_kernel{ + // MSVC 19.16 does not properly handle R-strings in its preprocessor when they are on a separate line, + // if the /E flag is passed (as NVCC does). + "#include \"test_header.h\"\n" + "#include \"test_header1.h\"\n" R"( -#include "test_header.h" -#include "test_header1.h" extern "C" __global__ void saxpy_kernel(const real a, const realptr d_x, realptr d_y, const unsigned int size) { @@ -77,14 +79,20 @@ int main() constexpr unsigned int device_id = 0; HIP_CHECK(hipGetDeviceProperties(&props, device_id)); + std::vector options; + // Obtain architecture's name from device properties and initialize array of compile options. When in CUDA we omit this option. - std::string sarg - = (props.gcnArchName[0]) ? std::string("--gpu-architecture=") + props.gcnArchName : ""; - const char* options[] = {sarg.c_str()}; - const int num_options = !sarg.empty(); +#ifdef __HIP_PLATFORM_AMD__ + std::string arch_option; + if(props.gcnArchName[0]) + { + arch_option = std::string("--gpu-architecture=") + props.gcnArchName; + options.push_back(arch_option.c_str()); + } +#endif // Compile program in runtime. Parameters are the program, number of options and array with options. - const hiprtcResult compile_result{hiprtcCompileProgram(prog, num_options, options)}; + const hiprtcResult compile_result{hiprtcCompileProgram(prog, options.size(), options.data())}; // Get the size of the log (possibly) generated during the compilation. size_t log_size; @@ -212,4 +220,4 @@ int main() << format_range(y.begin(), y.begin() + elements_to_print) << std::endl; return 0; -} \ No newline at end of file +} diff --git a/HIP-Basic/runtime_compilation/runtime_compilation_vs2017.vcxproj b/HIP-Basic/runtime_compilation/runtime_compilation_vs2017.vcxproj index d41e0ff5d..594e4f55f 100644 --- a/HIP-Basic/runtime_compilation/runtime_compilation_vs2017.vcxproj +++ b/HIP-Basic/runtime_compilation/runtime_compilation_vs2017.vcxproj @@ -99,7 +99,7 @@ Console true - hiprtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + cuda.lib;nvrtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -133,7 +133,7 @@ true true true - hiprtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + cuda.lib;nvrtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/HIP-Basic/runtime_compilation/runtime_compilation_vs2019.vcxproj b/HIP-Basic/runtime_compilation/runtime_compilation_vs2019.vcxproj index d039c85a1..2951b6a07 100644 --- a/HIP-Basic/runtime_compilation/runtime_compilation_vs2019.vcxproj +++ b/HIP-Basic/runtime_compilation/runtime_compilation_vs2019.vcxproj @@ -99,7 +99,7 @@ Console true - hiprtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + cuda.lib;nvrtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -133,7 +133,7 @@ true true true - hiprtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + cuda.lib;nvrtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/HIP-Basic/runtime_compilation/runtime_compilation_vs2022.vcxproj b/HIP-Basic/runtime_compilation/runtime_compilation_vs2022.vcxproj index 1f869817b..56b14df9a 100644 --- a/HIP-Basic/runtime_compilation/runtime_compilation_vs2022.vcxproj +++ b/HIP-Basic/runtime_compilation/runtime_compilation_vs2022.vcxproj @@ -99,7 +99,7 @@ Console true - hiprtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + cuda.lib;nvrtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -133,7 +133,7 @@ true true true - hiprtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + cuda.lib;nvrtc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/HIP-Basic/saxpy/CMakeLists.txt b/HIP-Basic/saxpy/CMakeLists.txt index bb91d60aa..5f2e123ea 100644 --- a/HIP-Basic/saxpy/CMakeLists.txt +++ b/HIP-Basic/saxpy/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -55,3 +58,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/shared_memory/CMakeLists.txt b/HIP-Basic/shared_memory/CMakeLists.txt index 49a91f200..3dfa6ea86 100644 --- a/HIP-Basic/shared_memory/CMakeLists.txt +++ b/HIP-Basic/shared_memory/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -57,3 +60,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/shared_memory/main.hip b/HIP-Basic/shared_memory/main.hip index b1c624692..9558747a9 100644 --- a/HIP-Basic/shared_memory/main.hip +++ b/HIP-Basic/shared_memory/main.hip @@ -90,8 +90,8 @@ int main() constexpr unsigned int grid_size = (width + block_size - 1) / block_size; // Block and grid sizes in 2D. - constexpr dim3 block_dim(block_size, block_size); - constexpr dim3 grid_dim(grid_size, grid_size); + const dim3 block_dim(block_size, block_size); + const dim3 grid_dim(grid_size, grid_size); // Allocate host input matrix and initialize with increasing sequence 10, 20, 30, .... std::vector matrix(size); diff --git a/HIP-Basic/static_host_library/CMakeLists.txt b/HIP-Basic/static_host_library/CMakeLists.txt index 45322aaec..f42d103f3 100644 --- a/HIP-Basic/static_host_library/CMakeLists.txt +++ b/HIP-Basic/static_host_library/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + set(library_name hip_static_host) set(example_name_cxx ${example_name}_cxx) @@ -69,23 +72,15 @@ set_target_properties(${example_name} PROPERTIES HIP_ARCHITECTURES FALSE) # Create a driver executable using the host c++ compiler. add_executable(${example_name_cxx} main.cpp) -add_dependencies(${example_name_cxx} ${library_name}) -# Link the static host library we have just created. -# Note, pass the linker commands manually to prevent cmake from -# automatically deducting this as a HIP-compilation. and using -# the ROCm bundled clang. -target_link_libraries(${example_name_cxx} PRIVATE -L$ -l${library_name}) -target_include_directories(${example_name_cxx} PRIVATE library) -# If linking with the host c++ compiler, we also need to link the runtime libraries from the respective language. -if(GPU_RUNTIME STREQUAL "HIP") - find_package(HIP) - target_link_libraries(${example_name_cxx} PRIVATE hip::host) -else() - find_package(CUDAToolkit) - target_link_libraries(${example_name_cxx} PRIVATE CUDA::cudart) -endif() +# Link the static host library we have just created. +target_link_libraries(${example_name_cxx} PRIVATE ${library_name}) +# Set the linker language to CXX so that CMake uses the host CXX compiler to compile +# and link this version of the executable. +set_target_properties(${example_name_cxx} PROPERTIES LINKER_LANGUAGE CXX) # Make examples runnable using ctest add_test(${example_name} ${example_name}) add_test(${example_name_cxx} ${example_name_cxx}) + +install(TARGETS ${example_name} ${example_name_cxx}) diff --git a/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2017.vcxproj b/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2017.vcxproj index dfa5e7dea..d3f23c96e 100644 --- a/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2017.vcxproj +++ b/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2017.vcxproj @@ -15,7 +15,7 @@ Win32Proj {ffd20c1b-d445-4457-8840-ae7a636b9a78} static_host_library_msvc_vs2017 - 10.0.19041.0 + $(LatestTargetPlatformVersion) @@ -63,6 +63,7 @@ Console true + libcmt @@ -81,6 +82,7 @@ true true true + libcmt diff --git a/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2019.vcxproj b/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2019.vcxproj index 409b38a67..c64fb8ff9 100644 --- a/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2019.vcxproj +++ b/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2019.vcxproj @@ -63,6 +63,7 @@ Console true + libcmt @@ -81,6 +82,7 @@ true true true + libcmt @@ -94,4 +96,4 @@ - + \ No newline at end of file diff --git a/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2022.vcxproj b/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2022.vcxproj index 674c522af..29c5203b3 100644 --- a/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2022.vcxproj +++ b/HIP-Basic/static_host_library/static_host_library_msvc/static_host_library_msvc_vs2022.vcxproj @@ -63,6 +63,7 @@ Console true + libcmt @@ -81,6 +82,7 @@ true true true + libcmt diff --git a/HIP-Basic/static_host_library/static_host_library_vs2019.vcxproj b/HIP-Basic/static_host_library/static_host_library_vs2019.vcxproj index e82bb25c8..209b0d008 100644 --- a/HIP-Basic/static_host_library/static_host_library_vs2019.vcxproj +++ b/HIP-Basic/static_host_library/static_host_library_vs2019.vcxproj @@ -124,4 +124,4 @@ - + \ No newline at end of file diff --git a/HIP-Basic/streams/CMakeLists.txt b/HIP-Basic/streams/CMakeLists.txt index ddc8345bb..007726eac 100644 --- a/HIP-Basic/streams/CMakeLists.txt +++ b/HIP-Basic/streams/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -54,3 +57,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/streams/streams_vs2019.vcxproj b/HIP-Basic/streams/streams_vs2019.vcxproj index df6f96e9f..e169745f8 100644 --- a/HIP-Basic/streams/streams_vs2019.vcxproj +++ b/HIP-Basic/streams/streams_vs2019.vcxproj @@ -126,4 +126,4 @@ - + \ No newline at end of file diff --git a/HIP-Basic/texture_management/CMakeLists.txt b/HIP-Basic/texture_management/CMakeLists.txt index 2d0c80fc0..0df400a26 100644 --- a/HIP-Basic/texture_management/CMakeLists.txt +++ b/HIP-Basic/texture_management/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest add_test(${example_name} ${example_name}) @@ -59,3 +62,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/vulkan_interop/CMakeLists.txt b/HIP-Basic/vulkan_interop/CMakeLists.txt index e7aff455f..b590a4b32 100644 --- a/HIP-Basic/vulkan_interop/CMakeLists.txt +++ b/HIP-Basic/vulkan_interop/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip vulkan_utils.hip) set(include_dirs "../../Common") @@ -81,3 +84,5 @@ target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) set_source_files_properties(vulkan_utils.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/vulkan_interop/nvidia_hip_fix.hpp b/HIP-Basic/vulkan_interop/nvidia_hip_fix.hpp index 7e5e170c9..9c137a5e9 100644 --- a/HIP-Basic/vulkan_interop/nvidia_hip_fix.hpp +++ b/HIP-Basic/vulkan_interop/nvidia_hip_fix.hpp @@ -40,6 +40,8 @@ #define hipExternalSemaphore_t cudaExternalSemaphore_t #define hipExternalSemaphoreSignalParams cudaExternalSemaphoreSignalParams #define hipExternalSemaphoreWaitParams cudaExternalSemaphoreWaitParams + #define hipExternalMemoryHandleTypeOpaqueWin32Kmt cudaExternalMemoryHandleTypeOpaqueWin32Kmt + #define hipExternalSemaphoreHandleTypeOpaqueWin32 cudaExternalSemaphoreHandleTypeOpaqueWin32 hipError_t hipImportExternalMemory(hipExternalMemory_t* extmem, hipExternalMemoryHandleDesc* desc) { diff --git a/HIP-Basic/vulkan_interop/vulkan_interop_vs2017.vcxproj b/HIP-Basic/vulkan_interop/vulkan_interop_vs2017.vcxproj index 8d0190ceb..74ff5a752 100644 --- a/HIP-Basic/vulkan_interop/vulkan_interop_vs2017.vcxproj +++ b/HIP-Basic/vulkan_interop/vulkan_interop_vs2017.vcxproj @@ -25,10 +25,13 @@ - - + + + PreserveNewest + + Document @@ -116,6 +119,8 @@ __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(VULKAN_SDK)\Include;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console @@ -150,6 +155,8 @@ __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(VULKAN_SDK)\Include;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console diff --git a/HIP-Basic/vulkan_interop/vulkan_interop_vs2019.vcxproj b/HIP-Basic/vulkan_interop/vulkan_interop_vs2019.vcxproj index 06783953f..230f022c3 100644 --- a/HIP-Basic/vulkan_interop/vulkan_interop_vs2019.vcxproj +++ b/HIP-Basic/vulkan_interop/vulkan_interop_vs2019.vcxproj @@ -29,6 +29,11 @@ + + + PreserveNewest + + Document @@ -116,6 +121,8 @@ __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(VULKAN_SDK)\Include;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console @@ -150,6 +157,8 @@ __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(VULKAN_SDK)\Include;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console diff --git a/HIP-Basic/vulkan_interop/vulkan_interop_vs2022.vcxproj b/HIP-Basic/vulkan_interop/vulkan_interop_vs2022.vcxproj index 73f83ce26..ed986fd4d 100644 --- a/HIP-Basic/vulkan_interop/vulkan_interop_vs2022.vcxproj +++ b/HIP-Basic/vulkan_interop/vulkan_interop_vs2022.vcxproj @@ -29,6 +29,11 @@ + + + PreserveNewest + + Document @@ -116,6 +121,8 @@ __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(VULKAN_SDK)\Include;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console @@ -150,6 +157,8 @@ __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(IntDir);$(GLFW_DIR)\include\;$(MSBuildProjectDirectory)\..\..\Common;$(VULKAN_SDK)\Include;%(AdditionalIncludeDirectories) stdcpp17 + + --diag-suppress 108 --diag-suppress 174 --diag-suppress 1835 Console diff --git a/HIP-Basic/warp_shuffle/CMakeLists.txt b/HIP-Basic/warp_shuffle/CMakeLists.txt index f8f8b6663..3c326224a 100644 --- a/HIP-Basic/warp_shuffle/CMakeLists.txt +++ b/HIP-Basic/warp_shuffle/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -39,11 +39,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + add_executable(${example_name} main.hip) # Make example runnable using ctest. add_test(${example_name} ${example_name}) @@ -56,3 +59,5 @@ endif() target_include_directories(${example_name} PRIVATE ${include_dirs}) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) diff --git a/HIP-Basic/warp_shuffle/main.hip b/HIP-Basic/warp_shuffle/main.hip index a3ad901c7..fa5554497 100644 --- a/HIP-Basic/warp_shuffle/main.hip +++ b/HIP-Basic/warp_shuffle/main.hip @@ -82,12 +82,15 @@ int main() // To guarantee the correct behaviour of the program, keep total number of matrix elements // below (or equal to) warp size. - assert(size <= static_cast(props.warpSize) - && "Matrix has more elements than architecture's warp size value."); + if(size > static_cast(props.warpSize)) + { + std::cerr << "Matrix has more elements than architecture's warp size value." << std::endl; + exit(error_exit_code); + } // Block (2D) and grid sizes. Note that in this example we have only 1 block (and 1 warp). - constexpr dim3 block_dim(width, width); - constexpr dim3 grid_dim(1); + const dim3 block_dim(width, width); + const dim3 grid_dim(1); // Allocate host input matrix and initialize with increasing sequence 10, 20, 30, .... std::vector matrix(size); diff --git a/Libraries/CMakeLists.txt b/Libraries/CMakeLists.txt index 7818160b7..690fcc45f 100644 --- a/Libraries/CMakeLists.txt +++ b/Libraries/CMakeLists.txt @@ -23,9 +23,13 @@ cmake_minimum_required(VERSION 3.21 FATAL_ERROR) project(Libraries LANGUAGES NONE) -add_subdirectory(hipBLAS) -add_subdirectory(hipCUB) -add_subdirectory(rocBLAS) -add_subdirectory(rocPRIM) -add_subdirectory(rocRAND) -add_subdirectory(rocThrust) +# CMake configuration files for CUDA versions of HIP libraries are not yet +# included under the HIP SDK for Windows. +if (NOT (CMAKE_SYSTEM_NAME MATCHES Windows AND "${GPU_RUNTIME}" STREQUAL "CUDA")) + add_subdirectory(hipBLAS) + add_subdirectory(hipCUB) + add_subdirectory(rocBLAS) + add_subdirectory(rocPRIM) + add_subdirectory(rocRAND) + add_subdirectory(rocThrust) +endif() diff --git a/Libraries/Makefile b/Libraries/Makefile index 3333c7dc5..4f5985560 100644 --- a/Libraries/Makefile +++ b/Libraries/Makefile @@ -22,11 +22,11 @@ LIBRARIES := \ hipCUB \ + hipBLAS \ rocRAND ifneq ($(GPU_RUNTIME), CUDA) LIBRARIES += \ - hipBLAS \ rocBLAS \ rocPRIM \ rocThrust diff --git a/Libraries/hipBLAS/CMakeLists.txt b/Libraries/hipBLAS/CMakeLists.txt index 958719373..233825ed5 100644 --- a/Libraries/hipBLAS/CMakeLists.txt +++ b/Libraries/hipBLAS/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -23,6 +23,14 @@ cmake_minimum_required(VERSION 3.21 FATAL_ERROR) project(hipBLAS_examples LANGUAGES NONE) +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") +endif() + +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(hipblas) if(NOT hipblas_FOUND) message(STATUS "hipBLAS could not be found, not building hipBLAS examples") diff --git a/Libraries/hipBLAS/gemm_strided_batched/CMakeLists.txt b/Libraries/hipBLAS/gemm_strided_batched/CMakeLists.txt index c252b8b78..877b9086a 100644 --- a/Libraries/hipBLAS/gemm_strided_batched/CMakeLists.txt +++ b/Libraries/hipBLAS/gemm_strided_batched/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -38,11 +38,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(hipblas REQUIRED) add_executable(${example_name} main.hip) @@ -54,3 +57,15 @@ target_link_libraries(${example_name} PRIVATE roc::hipblas) target_include_directories(${example_name} PRIVATE "../../../Common") set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::hipblas) + if(GPU_RUNTIME STREQUAL "HIP") + find_package(rocblas REQUIRED) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) + elseif(GPU_RUNTIME STREQUAL "CUDA") + find_package(CUDAToolkit REQUIRED) + install(IMPORTED_RUNTIME_ARTIFACTS CUDA::cublas) + endif() +endif() diff --git a/Libraries/hipBLAS/gemm_strided_batched/Makefile b/Libraries/hipBLAS/gemm_strided_batched/Makefile index c6714c976..c3f932715 100644 --- a/Libraries/hipBLAS/gemm_strided_batched/Makefile +++ b/Libraries/hipBLAS/gemm_strided_batched/Makefile @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,12 +36,18 @@ HIPCXX ?= $(ROCM_INSTALL_DIR)/bin/hipcc CXX_STD := c++17 ICXXFLAGS := -std=$(CXX_STD) ICPPFLAGS := -isystem $(HIPBLAS_INCLUDE_DIR) -isystem $(HIP_INCLUDE_DIR) -I $(COMMON_INCLUDE_DIR) -ILDFLAGS := +ILDFLAGS := -L $(ROCM_INSTALL_DIR)/lib ILDLIBS := -lhipblas -CXXFLAGS ?= -Wall -Wextra -ICPPFLAGS += -D__HIP_PLATFORM_AMD__ -COMPILER := $(HIPCXX) +ifeq ($(GPU_RUNTIME), CUDA) + ICXXFLAGS += -x cu + ICPPFLAGS += -D__HIP_PLATFORM_NVIDIA__ +else ifeq ($(GPU_RUNTIME), HIP) + CXXFLAGS ?= -Wall -Wextra + ICPPFLAGS += -D__HIP_PLATFORM_AMD__ +else + $(error GPU_RUNTIME is set to "$(GPU_RUNTIME)". GPU_RUNTIME must be either CUDA or HIP) +endif ICXXFLAGS += $(CXXFLAGS) ICPPFLAGS += $(CPPFLAGS) @@ -49,7 +55,7 @@ ILDFLAGS += $(LDFLAGS) ILDLIBS += $(LDLIBS) $(EXAMPLE): main.hip $(COMMON_INCLUDE_DIR)/cmdparser.hpp $(COMMON_INCLUDE_DIR)/example_utils.hpp $(COMMON_INCLUDE_DIR)/hipblas_utils.hpp - $(COMPILER) $(ICXXFLAGS) $(ICPPFLAGS) $(ILDFLAGS) -o $@ $< $(ILDLIBS) + $(HIPCXX) $(ICXXFLAGS) $(ICPPFLAGS) $(ILDFLAGS) -o $@ $< $(ILDLIBS) clean: $(RM) $(EXAMPLE) diff --git a/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2017.vcxproj b/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2017.vcxproj index 11a5dadfd..a61331db5 100644 --- a/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2017.vcxproj +++ b/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2017.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application @@ -95,7 +107,6 @@ Console true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -131,7 +142,6 @@ true true true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2019.vcxproj b/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2019.vcxproj index 58af6d059..3532de814 100644 --- a/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2019.vcxproj +++ b/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2019.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application @@ -95,7 +107,6 @@ Console true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -131,7 +142,6 @@ true true true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -139,4 +149,4 @@ - + \ No newline at end of file diff --git a/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2022.vcxproj b/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2022.vcxproj index 8801bc125..ad6ff44e4 100644 --- a/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2022.vcxproj +++ b/Libraries/hipBLAS/gemm_strided_batched/gemm_strided_batched_vs2022.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application @@ -95,7 +107,6 @@ Console true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -131,7 +142,6 @@ true true true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/Libraries/hipBLAS/her/CMakeLists.txt b/Libraries/hipBLAS/her/CMakeLists.txt index b402f644a..1034606cb 100644 --- a/Libraries/hipBLAS/her/CMakeLists.txt +++ b/Libraries/hipBLAS/her/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -38,11 +38,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(hipblas REQUIRED) add_executable(${example_name} main.hip) @@ -54,3 +57,15 @@ target_link_libraries(${example_name} PRIVATE roc::hipblas) target_include_directories(${example_name} PRIVATE "../../../Common") set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::hipblas) + if(GPU_RUNTIME STREQUAL "HIP") + find_package(rocblas REQUIRED) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) + elseif(GPU_RUNTIME STREQUAL "CUDA") + find_package(CUDAToolkit REQUIRED) + install(IMPORTED_RUNTIME_ARTIFACTS CUDA::cublas) + endif() +endif() diff --git a/Libraries/hipBLAS/her/Makefile b/Libraries/hipBLAS/her/Makefile index eceda610f..aa0c2b51f 100644 --- a/Libraries/hipBLAS/her/Makefile +++ b/Libraries/hipBLAS/her/Makefile @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,12 +36,18 @@ HIPCXX ?= $(ROCM_INSTALL_DIR)/bin/hipcc CXX_STD := c++17 ICXXFLAGS := -std=$(CXX_STD) ICPPFLAGS := -isystem $(HIPBLAS_INCLUDE_DIR) -isystem $(HIP_INCLUDE_DIR) -I $(COMMON_INCLUDE_DIR) -ILDFLAGS := +ILDFLAGS := -L $(ROCM_INSTALL_DIR)/lib ILDLIBS := -lhipblas -CXXFLAGS ?= -Wall -Wextra -ICPPFLAGS += -D__HIP_PLATFORM_AMD__ -COMPILER := $(HIPCXX) +ifeq ($(GPU_RUNTIME), CUDA) + ICXXFLAGS += -x cu + ICPPFLAGS += -D__HIP_PLATFORM_NVIDIA__ +else ifeq ($(GPU_RUNTIME), HIP) + CXXFLAGS ?= -Wall -Wextra + ICPPFLAGS += -D__HIP_PLATFORM_AMD__ +else + $(error GPU_RUNTIME is set to "$(GPU_RUNTIME)". GPU_RUNTIME must be either CUDA or HIP) +endif ICXXFLAGS += $(CXXFLAGS) ICPPFLAGS += $(CPPFLAGS) @@ -49,7 +55,7 @@ ILDFLAGS += $(LDFLAGS) ILDLIBS += $(LDLIBS) $(EXAMPLE): main.hip $(COMMON_INCLUDE_DIR)/cmdparser.hpp $(COMMON_INCLUDE_DIR)/example_utils.hpp $(COMMON_INCLUDE_DIR)/hipblas_utils.hpp - $(COMPILER) $(ICXXFLAGS) $(ICPPFLAGS) $(ILDFLAGS) -o $@ $< $(ILDLIBS) + $(HIPCXX) $(ICXXFLAGS) $(ICPPFLAGS) $(ILDFLAGS) -o $@ $< $(ILDLIBS) clean: $(RM) $(EXAMPLE) diff --git a/Libraries/hipBLAS/her/her_vs2017.vcxproj b/Libraries/hipBLAS/her/her_vs2017.vcxproj index 52a748c25..702ee8516 100644 --- a/Libraries/hipBLAS/her/her_vs2017.vcxproj +++ b/Libraries/hipBLAS/her/her_vs2017.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application @@ -95,7 +107,6 @@ Console true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -131,7 +142,6 @@ true true true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/Libraries/hipBLAS/her/her_vs2019.vcxproj b/Libraries/hipBLAS/her/her_vs2019.vcxproj index 5675ac995..a6090ce29 100644 --- a/Libraries/hipBLAS/her/her_vs2019.vcxproj +++ b/Libraries/hipBLAS/her/her_vs2019.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application @@ -95,7 +107,6 @@ Console true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -131,7 +142,6 @@ true true true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -139,4 +149,4 @@ - + \ No newline at end of file diff --git a/Libraries/hipBLAS/her/her_vs2022.vcxproj b/Libraries/hipBLAS/her/her_vs2022.vcxproj index 54c7f6cf7..816ccde28 100644 --- a/Libraries/hipBLAS/her/her_vs2022.vcxproj +++ b/Libraries/hipBLAS/her/her_vs2022.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application @@ -95,7 +107,6 @@ Console true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -131,7 +142,6 @@ true true true - hipblas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/Libraries/hipBLAS/scal/CMakeLists.txt b/Libraries/hipBLAS/scal/CMakeLists.txt index 86eb05849..58644841a 100644 --- a/Libraries/hipBLAS/scal/CMakeLists.txt +++ b/Libraries/hipBLAS/scal/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -38,11 +38,14 @@ set(CMAKE_${GPU_RUNTIME}_STANDARD 17) set(CMAKE_${GPU_RUNTIME}_EXTENSIONS OFF) set(CMAKE_${GPU_RUNTIME}_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(hipblas REQUIRED) add_executable(${example_name} main.hip) @@ -54,3 +57,15 @@ target_link_libraries(${example_name} PRIVATE roc::hipblas) target_include_directories(${example_name} PRIVATE "../../../Common") set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) + +install(TARGETS ${example_name}) +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::hipblas) + if(GPU_RUNTIME STREQUAL "HIP") + find_package(rocblas REQUIRED) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) + elseif(GPU_RUNTIME STREQUAL "CUDA") + find_package(CUDAToolkit REQUIRED) + install(IMPORTED_RUNTIME_ARTIFACTS CUDA::cublas) + endif() +endif() diff --git a/Libraries/hipBLAS/scal/Makefile b/Libraries/hipBLAS/scal/Makefile index 39296cd51..51ee4ff4c 100644 --- a/Libraries/hipBLAS/scal/Makefile +++ b/Libraries/hipBLAS/scal/Makefile @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,12 +36,18 @@ HIPCXX ?= $(ROCM_INSTALL_DIR)/bin/hipcc CXX_STD := c++17 ICXXFLAGS := -std=$(CXX_STD) ICPPFLAGS := -isystem $(HIPBLAS_INCLUDE_DIR) -isystem $(HIP_INCLUDE_DIR) -I $(COMMON_INCLUDE_DIR) -ILDFLAGS := +ILDFLAGS := -L $(ROCM_INSTALL_DIR)/lib ILDLIBS := -lhipblas -CXXFLAGS ?= -Wall -Wextra -ICPPFLAGS += -D__HIP_PLATFORM_AMD__ -COMPILER := $(HIPCXX) +ifeq ($(GPU_RUNTIME), CUDA) + ICXXFLAGS += -x cu + ICPPFLAGS += -D__HIP_PLATFORM_NVIDIA__ +else ifeq ($(GPU_RUNTIME), HIP) + CXXFLAGS ?= -Wall -Wextra + ICPPFLAGS += -D__HIP_PLATFORM_AMD__ +else + $(error GPU_RUNTIME is set to "$(GPU_RUNTIME)". GPU_RUNTIME must be either CUDA or HIP) +endif ICXXFLAGS += $(CXXFLAGS) ICPPFLAGS += $(CPPFLAGS) @@ -49,7 +55,7 @@ ILDFLAGS += $(LDFLAGS) ILDLIBS += $(LDLIBS) $(EXAMPLE): main.hip $(COMMON_INCLUDE_DIR)/cmdparser.hpp $(COMMON_INCLUDE_DIR)/example_utils.hpp $(COMMON_INCLUDE_DIR)/hipblas_utils.hpp - $(COMPILER) $(ICXXFLAGS) $(ICPPFLAGS) $(ILDFLAGS) -o $@ $< $(ILDLIBS) + $(HIPCXX) $(ICXXFLAGS) $(ICPPFLAGS) $(ILDFLAGS) -o $@ $< $(ILDLIBS) clean: $(RM) $(EXAMPLE) diff --git a/Libraries/hipBLAS/scal/scal_vs2017.vcxproj b/Libraries/hipBLAS/scal/scal_vs2017.vcxproj index de8a8dd94..6b7a6502a 100644 --- a/Libraries/hipBLAS/scal/scal_vs2017.vcxproj +++ b/Libraries/hipBLAS/scal/scal_vs2017.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/hipBLAS/scal/scal_vs2019.vcxproj b/Libraries/hipBLAS/scal/scal_vs2019.vcxproj index cb9b56147..79e59d476 100644 --- a/Libraries/hipBLAS/scal/scal_vs2019.vcxproj +++ b/Libraries/hipBLAS/scal/scal_vs2019.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application @@ -139,4 +151,4 @@ - + \ No newline at end of file diff --git a/Libraries/hipBLAS/scal/scal_vs2022.vcxproj b/Libraries/hipBLAS/scal/scal_vs2022.vcxproj index fd0cfe269..75d63a728 100644 --- a/Libraries/hipBLAS/scal/scal_vs2022.vcxproj +++ b/Libraries/hipBLAS/scal/scal_vs2022.vcxproj @@ -25,6 +25,18 @@ + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/hipCUB/CMakeLists.txt b/Libraries/hipCUB/CMakeLists.txt index 44fc66a9d..801737343 100644 --- a/Libraries/hipCUB/CMakeLists.txt +++ b/Libraries/hipCUB/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -23,6 +23,14 @@ cmake_minimum_required(VERSION 3.21 FATAL_ERROR) project(hipCUB_examples LANGUAGES CXX) +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") +endif() + +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(hipcub) if(NOT hipcub_FOUND) message(STATUS "hipCUB could not be found, not building hipCUB examples") diff --git a/Libraries/hipCUB/device_radix_sort/CMakeLists.txt b/Libraries/hipCUB/device_radix_sort/CMakeLists.txt index 2302efa9f..d5ddaf46d 100644 --- a/Libraries/hipCUB/device_radix_sort/CMakeLists.txt +++ b/Libraries/hipCUB/device_radix_sort/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name hipcub_device_radix_sort) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(hipcub_device_radix_sort LANGUAGES CXX) +project(${example_name} LANGUAGES CXX) set(GPU_RUNTIME "HIP" CACHE STRING "Switches between HIP and CUDA") set(GPU_RUNTIMES "HIP" "CUDA") @@ -42,18 +44,20 @@ endif() find_package(hipcub REQUIRED) -add_executable(hipcub_device_radix_sort main.hip) -add_test(hipcub_device_radix_sort hipcub_device_radix_sort) +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) -target_link_libraries(hipcub_device_radix_sort +target_link_libraries(${example_name} PRIVATE hip::hipcub ) -target_include_directories(hipcub_device_radix_sort +target_include_directories(${example_name} PRIVATE "../../../Common" ) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) if(WIN32) - target_compile_definitions(hipcub_device_radix_sort PRIVATE WIN32) + target_compile_definitions(${example_name} PRIVATE WIN32) endif() + +install(TARGETS ${example_name}) diff --git a/Libraries/hipCUB/device_sum/CMakeLists.txt b/Libraries/hipCUB/device_sum/CMakeLists.txt index 2e1f71b7a..a82b10982 100644 --- a/Libraries/hipCUB/device_sum/CMakeLists.txt +++ b/Libraries/hipCUB/device_sum/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,6 +20,8 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name hipcub_device_sum) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) project(hipcub_device_sum LANGUAGES CXX) @@ -42,18 +44,20 @@ endif() find_package(hipcub REQUIRED) -add_executable(hipcub_device_sum main.hip) -add_test(hipcub_device_sum hipcub_device_sum) +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) -target_link_libraries(hipcub_device_sum +target_link_libraries(${example_name} PRIVATE hip::hipcub ) -target_include_directories(hipcub_device_sum +target_include_directories(${example_name} PRIVATE "../../../Common" ) set_source_files_properties(main.hip PROPERTIES LANGUAGE ${GPU_RUNTIME}) if(WIN32) - target_compile_definitions(hipcub_device_sum PRIVATE WIN32) + target_compile_definitions(${example_name} PRIVATE WIN32) endif() + +install(TARGETS ${example_name}) diff --git a/Libraries/rocBLAS/CMakeLists.txt b/Libraries/rocBLAS/CMakeLists.txt index ad088fb82..a1ba792a9 100644 --- a/Libraries/rocBLAS/CMakeLists.txt +++ b/Libraries/rocBLAS/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -28,6 +28,14 @@ if(GPU_RUNTIME STREQUAL "CUDA") return() endif() +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") +endif() + +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas) if(NOT rocblas_FOUND) message(STATUS "rocBLAS could not be found, not building rocBLAS examples") diff --git a/Libraries/rocBLAS/level_1/axpy/CMakeLists.txt b/Libraries/rocBLAS/level_1/axpy/CMakeLists.txt index a40f79024..67a135743 100644 --- a/Libraries/rocBLAS/level_1/axpy/CMakeLists.txt +++ b/Libraries/rocBLAS/level_1/axpy/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -51,3 +54,9 @@ add_test(${example_name} ${example_name}) target_link_libraries(${example_name} PRIVATE roc::rocblas) target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_1/axpy/axpy_vs2017.vcxproj b/Libraries/rocBLAS/level_1/axpy/axpy_vs2017.vcxproj index 118a8f175..d264bcfb4 100644 --- a/Libraries/rocBLAS/level_1/axpy/axpy_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_1/axpy/axpy_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/axpy/axpy_vs2019.vcxproj b/Libraries/rocBLAS/level_1/axpy/axpy_vs2019.vcxproj index f2dc94123..0fdcf61bc 100644 --- a/Libraries/rocBLAS/level_1/axpy/axpy_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_1/axpy/axpy_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/axpy/axpy_vs2022.vcxproj b/Libraries/rocBLAS/level_1/axpy/axpy_vs2022.vcxproj index f7e680f7d..6e526b7c1 100644 --- a/Libraries/rocBLAS/level_1/axpy/axpy_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_1/axpy/axpy_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/dot/CMakeLists.txt b/Libraries/rocBLAS/level_1/dot/CMakeLists.txt index d309231a6..5e51c8caa 100644 --- a/Libraries/rocBLAS/level_1/dot/CMakeLists.txt +++ b/Libraries/rocBLAS/level_1/dot/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -50,4 +53,10 @@ add_test(${example_name} ${example_name}) # Link to example library target_link_libraries(${example_name} PRIVATE roc::rocblas) -target_include_directories(${example_name} PRIVATE "../../../../Common") \ No newline at end of file +target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_1/dot/dot_vs2017.vcxproj b/Libraries/rocBLAS/level_1/dot/dot_vs2017.vcxproj index ccbd0d284..91eddb1c7 100644 --- a/Libraries/rocBLAS/level_1/dot/dot_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_1/dot/dot_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/dot/dot_vs2019.vcxproj b/Libraries/rocBLAS/level_1/dot/dot_vs2019.vcxproj index 4bcf11060..aa134ef2a 100644 --- a/Libraries/rocBLAS/level_1/dot/dot_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_1/dot/dot_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/dot/dot_vs2022.vcxproj b/Libraries/rocBLAS/level_1/dot/dot_vs2022.vcxproj index 7fb59ac60..ffd047d55 100644 --- a/Libraries/rocBLAS/level_1/dot/dot_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_1/dot/dot_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/nrm2/CMakeLists.txt b/Libraries/rocBLAS/level_1/nrm2/CMakeLists.txt index 94ca4e7c2..03633620e 100644 --- a/Libraries/rocBLAS/level_1/nrm2/CMakeLists.txt +++ b/Libraries/rocBLAS/level_1/nrm2/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -51,3 +54,9 @@ add_test(${example_name} ${example_name}) target_link_libraries(${example_name} PRIVATE roc::rocblas) target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2017.vcxproj b/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2017.vcxproj index d75bb12bf..e72cae790 100644 --- a/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2019.vcxproj b/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2019.vcxproj index fa442f3dc..7557ecf16 100644 --- a/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2022.vcxproj b/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2022.vcxproj index 35189c772..60139e747 100644 --- a/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_1/nrm2/nrm2_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/scal/CMakeLists.txt b/Libraries/rocBLAS/level_1/scal/CMakeLists.txt index aa115d9a9..ac923482e 100644 --- a/Libraries/rocBLAS/level_1/scal/CMakeLists.txt +++ b/Libraries/rocBLAS/level_1/scal/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -51,3 +54,9 @@ add_test(${example_name} ${example_name}) target_link_libraries(${example_name} PRIVATE roc::rocblas) target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_1/scal/scal_vs2017.vcxproj b/Libraries/rocBLAS/level_1/scal/scal_vs2017.vcxproj index e20ced817..bdf9fce40 100644 --- a/Libraries/rocBLAS/level_1/scal/scal_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_1/scal/scal_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/scal/scal_vs2019.vcxproj b/Libraries/rocBLAS/level_1/scal/scal_vs2019.vcxproj index 3f8a67f33..a22efb940 100644 --- a/Libraries/rocBLAS/level_1/scal/scal_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_1/scal/scal_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/scal/scal_vs2022.vcxproj b/Libraries/rocBLAS/level_1/scal/scal_vs2022.vcxproj index 4dc1f31c3..958edfdfe 100644 --- a/Libraries/rocBLAS/level_1/scal/scal_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_1/scal/scal_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/swap/CMakeLists.txt b/Libraries/rocBLAS/level_1/swap/CMakeLists.txt index 4d22959eb..129a55200 100644 --- a/Libraries/rocBLAS/level_1/swap/CMakeLists.txt +++ b/Libraries/rocBLAS/level_1/swap/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -51,3 +54,9 @@ add_test(${example_name} ${example_name}) target_link_libraries(${example_name} PRIVATE roc::rocblas) target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_1/swap/swap_vs2017.vcxproj b/Libraries/rocBLAS/level_1/swap/swap_vs2017.vcxproj index f027d6e0a..f869d8c11 100644 --- a/Libraries/rocBLAS/level_1/swap/swap_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_1/swap/swap_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/swap/swap_vs2019.vcxproj b/Libraries/rocBLAS/level_1/swap/swap_vs2019.vcxproj index b50b86487..19f2edbd1 100644 --- a/Libraries/rocBLAS/level_1/swap/swap_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_1/swap/swap_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_1/swap/swap_vs2022.vcxproj b/Libraries/rocBLAS/level_1/swap/swap_vs2022.vcxproj index e49f848f3..cf1f8bdea 100644 --- a/Libraries/rocBLAS/level_1/swap/swap_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_1/swap/swap_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_2/gemv/CMakeLists.txt b/Libraries/rocBLAS/level_2/gemv/CMakeLists.txt index 005e8356b..8cf4a88bb 100644 --- a/Libraries/rocBLAS/level_2/gemv/CMakeLists.txt +++ b/Libraries/rocBLAS/level_2/gemv/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -51,3 +54,9 @@ add_test(${example_name} ${example_name}) target_link_libraries(${example_name} PRIVATE roc::rocblas) target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_2/gemv/gemv_vs2017.vcxproj b/Libraries/rocBLAS/level_2/gemv/gemv_vs2017.vcxproj index 7ed859cb5..c8f37a85f 100644 --- a/Libraries/rocBLAS/level_2/gemv/gemv_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_2/gemv/gemv_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_2/gemv/gemv_vs2019.vcxproj b/Libraries/rocBLAS/level_2/gemv/gemv_vs2019.vcxproj index 8c20d50fc..332f64168 100644 --- a/Libraries/rocBLAS/level_2/gemv/gemv_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_2/gemv/gemv_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_2/gemv/gemv_vs2022.vcxproj b/Libraries/rocBLAS/level_2/gemv/gemv_vs2022.vcxproj index 32d56b883..cdd12b0cf 100644 --- a/Libraries/rocBLAS/level_2/gemv/gemv_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_2/gemv/gemv_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_2/her/CMakeLists.txt b/Libraries/rocBLAS/level_2/her/CMakeLists.txt index c9df2f5e7..1a1c554a3 100644 --- a/Libraries/rocBLAS/level_2/her/CMakeLists.txt +++ b/Libraries/rocBLAS/level_2/her/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -51,3 +54,9 @@ add_test(${example_name} ${example_name}) target_link_libraries(${example_name} PRIVATE roc::rocblas) target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_2/her/her_vs2017.vcxproj b/Libraries/rocBLAS/level_2/her/her_vs2017.vcxproj index dbe7f4069..a84aaced1 100644 --- a/Libraries/rocBLAS/level_2/her/her_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_2/her/her_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_2/her/her_vs2019.vcxproj b/Libraries/rocBLAS/level_2/her/her_vs2019.vcxproj index 2ed1088b4..4db1c680a 100644 --- a/Libraries/rocBLAS/level_2/her/her_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_2/her/her_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_2/her/her_vs2022.vcxproj b/Libraries/rocBLAS/level_2/her/her_vs2022.vcxproj index 2b22e0705..7aad395fb 100644 --- a/Libraries/rocBLAS/level_2/her/her_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_2/her/her_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_3/gemm/CMakeLists.txt b/Libraries/rocBLAS/level_3/gemm/CMakeLists.txt index 8719e129b..d0f3951f9 100644 --- a/Libraries/rocBLAS/level_3/gemm/CMakeLists.txt +++ b/Libraries/rocBLAS/level_3/gemm/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -51,3 +54,9 @@ add_test(${example_name} ${example_name}) target_link_libraries(${example_name} PRIVATE roc::rocblas) target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_3/gemm/gemm_vs2017.vcxproj b/Libraries/rocBLAS/level_3/gemm/gemm_vs2017.vcxproj index 844db035a..12efa24e5 100644 --- a/Libraries/rocBLAS/level_3/gemm/gemm_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_3/gemm/gemm_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_3/gemm/gemm_vs2019.vcxproj b/Libraries/rocBLAS/level_3/gemm/gemm_vs2019.vcxproj index d210e1f2d..eb737db51 100644 --- a/Libraries/rocBLAS/level_3/gemm/gemm_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_3/gemm/gemm_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_3/gemm/gemm_vs2022.vcxproj b/Libraries/rocBLAS/level_3/gemm/gemm_vs2022.vcxproj index 8d3bdf2e1..9b8be3377 100644 --- a/Libraries/rocBLAS/level_3/gemm/gemm_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_3/gemm/gemm_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_3/gemm_strided_batched/CMakeLists.txt b/Libraries/rocBLAS/level_3/gemm_strided_batched/CMakeLists.txt index c3427dfa0..631b7843b 100644 --- a/Libraries/rocBLAS/level_3/gemm_strided_batched/CMakeLists.txt +++ b/Libraries/rocBLAS/level_3/gemm_strided_batched/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -36,11 +36,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") -if(NOT CMAKE_PREFIX_PATH) - set(CMAKE_PREFIX_PATH "${ROCM_ROOT}") +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") endif() +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocblas REQUIRED) add_executable(${example_name} main.cpp) @@ -51,3 +54,9 @@ add_test(${example_name} ${example_name}) target_link_libraries(${example_name} PRIVATE roc::rocblas) target_include_directories(${example_name} PRIVATE "../../../../Common") + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocblas) +endif() diff --git a/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2017.vcxproj b/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2017.vcxproj index ee925fd12..292913293 100644 --- a/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2017.vcxproj +++ b/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2017.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2019.vcxproj b/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2019.vcxproj index a40aa90db..9f46f688f 100644 --- a/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2019.vcxproj +++ b/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2019.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2022.vcxproj b/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2022.vcxproj index f58c48b22..2c1c499ce 100644 --- a/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2022.vcxproj +++ b/Libraries/rocBLAS/level_3/gemm_strided_batched/gemm_strided_batched_vs2022.vcxproj @@ -25,6 +25,15 @@ + + + PreserveNewest + + + PreserveNewest + rocblas\%(RecursiveDir)\%(FileName)%(Extension) + + Application diff --git a/Libraries/rocPRIM/CMakeLists.txt b/Libraries/rocPRIM/CMakeLists.txt index 7d4106384..4062496db 100644 --- a/Libraries/rocPRIM/CMakeLists.txt +++ b/Libraries/rocPRIM/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -28,6 +28,14 @@ if(GPU_RUNTIME STREQUAL "CUDA") return() endif() +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") +endif() + +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocprim) if(NOT rocprim_FOUND) message(STATUS "rocPRIM could not be found, not building rocPRIM examples") diff --git a/Libraries/rocPRIM/block_sum/CMakeLists.txt b/Libraries/rocPRIM/block_sum/CMakeLists.txt index fc3ddd290..cfff12148 100644 --- a/Libraries/rocPRIM/block_sum/CMakeLists.txt +++ b/Libraries/rocPRIM/block_sum/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocprim_block_sum) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocprim_block_sum LANGUAGES CXX HIP) +project(${example_name} LANGUAGES CXX HIP) set(CMAKE_HIP_STANDARD 17) set(CMAKE_HIP_EXTENSIONS OFF) @@ -33,17 +35,19 @@ endif() find_package(rocprim REQUIRED) -add_executable(rocprim_block_sum main.hip) -add_test(rocprim_block_sum rocprim_block_sum) +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) -target_link_libraries(rocprim_block_sum +target_link_libraries(${example_name} PRIVATE roc::rocprim ) -target_include_directories(rocprim_block_sum +target_include_directories(${example_name} PRIVATE "../../../Common" ) if(WIN32) - target_compile_definitions(rocprim_block_sum PRIVATE WIN32) + target_compile_definitions(${example_name} PRIVATE WIN32) endif() + +install(TARGETS ${example_name}) diff --git a/Libraries/rocPRIM/device_sum/CMakeLists.txt b/Libraries/rocPRIM/device_sum/CMakeLists.txt index 71877ef6a..82d62fd75 100644 --- a/Libraries/rocPRIM/device_sum/CMakeLists.txt +++ b/Libraries/rocPRIM/device_sum/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocprim_device_sum) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocprim_device_sum LANGUAGES CXX HIP) +project(${example_name} LANGUAGES CXX HIP) set(CMAKE_HIP_STANDARD 17) set(CMAKE_HIP_EXTENSIONS OFF) @@ -33,17 +35,19 @@ endif() find_package(rocprim REQUIRED) -add_executable(rocprim_device_sum main.hip) -add_test(rocprim_device_sum rocprim_device_sum) +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) -target_link_libraries(rocprim_device_sum +target_link_libraries(${example_name} PRIVATE roc::rocprim ) -target_include_directories(rocprim_device_sum +target_include_directories(${example_name} PRIVATE "../../../Common" ) if(WIN32) - target_compile_definitions(rocprim_device_sum PRIVATE WIN32) + target_compile_definitions(${example_name} PRIVATE WIN32) endif() + +install(TARGETS ${example_name}) diff --git a/Libraries/rocRAND/CMakeLists.txt b/Libraries/rocRAND/CMakeLists.txt index 3bcd58256..64da29b6e 100644 --- a/Libraries/rocRAND/CMakeLists.txt +++ b/Libraries/rocRAND/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -23,6 +23,14 @@ cmake_minimum_required(VERSION 3.21 FATAL_ERROR) project(rocRAND_examples LANGUAGES CXX) +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") +endif() + +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocrand) if(NOT rocrand_FOUND) message(STATUS "rocRAND could not be found, not building rocRAND examples") diff --git a/Libraries/rocRAND/simple_distributions_cpp/CMakeLists.txt b/Libraries/rocRAND/simple_distributions_cpp/CMakeLists.txt index 4898c9d62..f9ba71510 100644 --- a/Libraries/rocRAND/simple_distributions_cpp/CMakeLists.txt +++ b/Libraries/rocRAND/simple_distributions_cpp/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocrand_simple_distributions_cpp) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocrand_simple_distributions_cpp LANGUAGES CXX) +project(${example_name} LANGUAGES CXX) set(GPU_RUNTIME "HIP" CACHE STRING "Switches between HIP and CUDA") set(GPU_RUNTIMES "HIP" "CUDA") @@ -48,17 +50,23 @@ endif() find_package(rocrand REQUIRED) -add_executable(rocrand_simple_distributions_cpp main.cpp) -add_test(rocrand_simple_distributions_cpp rocrand_simple_distributions_cpp) +add_executable(${example_name} main.cpp) +add_test(${example_name} ${example_name}) if(GPU_RUNTIME STREQUAL "CUDA") - target_link_libraries(rocrand_simple_distributions_cpp PRIVATE roc::rocrand) + target_link_libraries(${example_name} PRIVATE roc::rocrand) set_source_files_properties(main.cpp PROPERTIES LANGUAGE CUDA) else() - target_link_libraries(rocrand_simple_distributions_cpp roc::rocrand hip::host) + target_link_libraries(${example_name} roc::rocrand hip::host) endif() -target_include_directories(rocrand_simple_distributions_cpp PRIVATE "../../../Common") +target_include_directories(${example_name} PRIVATE "../../../Common") if(WIN32) - target_compile_definitions(rocrand_simple_distributions_cpp PRIVATE WIN32) + target_compile_definitions(${example_name} PRIVATE WIN32) +endif() + +install(TARGETS ${example_name}) + +if(CMAKE_SYSTEM_NAME MATCHES Windows) + install(IMPORTED_RUNTIME_ARTIFACTS roc::rocrand) endif() diff --git a/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2017.vcxproj b/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2017.vcxproj index 420a27b8c..534c5c5c7 100644 --- a/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2017.vcxproj +++ b/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2017.vcxproj @@ -24,6 +24,11 @@ + + + PreserveNewest + + Application @@ -84,21 +89,6 @@ rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - Level2 - __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) - stdcpp17 - true - --disable-warnings - - - Console - true - rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - Level2 @@ -118,25 +108,6 @@ rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - Level2 - true - true - __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) - stdcpp17 - true - --disable-warnings - - - Console - true - true - true - rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - diff --git a/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2019.vcxproj b/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2019.vcxproj index 342c6f170..38ff3be4a 100644 --- a/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2019.vcxproj +++ b/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2019.vcxproj @@ -24,6 +24,11 @@ + + + PreserveNewest + + Application @@ -84,21 +89,6 @@ rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - Level2 - __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) - stdcpp17 - true - --disable-warnings - - - Console - true - rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - Level2 @@ -118,28 +108,9 @@ rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - Level2 - true - true - __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) - stdcpp17 - true - --disable-warnings - - - Console - true - true - true - rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - + \ No newline at end of file diff --git a/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2022.vcxproj b/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2022.vcxproj index 974ea1769..bc81be627 100644 --- a/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2022.vcxproj +++ b/Libraries/rocRAND/simple_distributions_cpp/simple_distributions_cpp_vs2022.vcxproj @@ -24,6 +24,11 @@ + + + PreserveNewest + + Application @@ -84,21 +89,6 @@ rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - Level2 - __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) - stdcpp17 - true - --disable-warnings - - - Console - true - rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - Level2 @@ -118,25 +108,6 @@ rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - Level2 - true - true - __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) - stdcpp17 - true - --disable-warnings - - - Console - true - true - true - rocrand.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - diff --git a/Libraries/rocThrust/CMakeLists.txt b/Libraries/rocThrust/CMakeLists.txt index fa7d95c9d..9d2f03df8 100644 --- a/Libraries/rocThrust/CMakeLists.txt +++ b/Libraries/rocThrust/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -28,6 +28,14 @@ if(GPU_RUNTIME STREQUAL "CUDA") return() endif() +if(WIN32) + set(ROCM_ROOT "$ENV{HIP_PATH}" CACHE PATH "Root directory of the ROCm installation") +else() + set(ROCM_ROOT "/opt/rocm" CACHE PATH "Root directory of the ROCm installation") +endif() + +list(APPEND CMAKE_PREFIX_PATH "${ROCM_ROOT}") + find_package(rocthrust) if(NOT rocthrust_FOUND) message(STATUS "rocThrust could not be found, not building rocThrust examples") diff --git a/Libraries/rocThrust/device_ptr/CMakeLists.txt b/Libraries/rocThrust/device_ptr/CMakeLists.txt index d7c9f7a1e..6191ef624 100644 --- a/Libraries/rocThrust/device_ptr/CMakeLists.txt +++ b/Libraries/rocThrust/device_ptr/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocthrust_device_ptr) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocthrust_device_ptr LANGUAGES CXX HIP) +project(${example_name} LANGUAGES CXX HIP) set(CMAKE_HIP_STANDARD 17) set(CMAKE_HIP_EXTENSIONS OFF) @@ -32,10 +34,20 @@ if(NOT CMAKE_PREFIX_PATH) endif() find_package(rocthrust REQUIRED) -add_executable(rocthrust_device_ptr main.hip) -target_link_libraries(rocthrust_device_ptr PRIVATE roc::rocthrust) -add_test(rocthrust_device_ptr rocthrust_device_ptr) -target_include_directories(rocthrust_device_ptr PRIVATE "../../../Common") -if(WIN32) - target_compile_definitions(rocthrust_device_ptr PRIVATE WIN32) -endif() + +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) + +target_link_libraries(${example_name} + PRIVATE + roc::rocthrust +) +target_include_directories(${example_name} + PRIVATE + "../../../Common" +) + +# TODO: remove when rocPRIM #ifdef WIN32 is fixed +target_compile_definitions(${example_name} PRIVATE $<$:WIN32>) + +install(TARGETS ${example_name}) diff --git a/Libraries/rocThrust/device_ptr/device_ptr_vs2017.vcxproj b/Libraries/rocThrust/device_ptr/device_ptr_vs2017.vcxproj index 7d39e27a6..7e1a37517 100644 --- a/Libraries/rocThrust/device_ptr/device_ptr_vs2017.vcxproj +++ b/Libraries/rocThrust/device_ptr/device_ptr_vs2017.vcxproj @@ -81,6 +81,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -98,6 +110,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/device_ptr/device_ptr_vs2019.vcxproj b/Libraries/rocThrust/device_ptr/device_ptr_vs2019.vcxproj index 20a2afc1c..14e51f905 100644 --- a/Libraries/rocThrust/device_ptr/device_ptr_vs2019.vcxproj +++ b/Libraries/rocThrust/device_ptr/device_ptr_vs2019.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/device_ptr/device_ptr_vs2022.vcxproj b/Libraries/rocThrust/device_ptr/device_ptr_vs2022.vcxproj index cb40ebba8..91b1ac067 100644 --- a/Libraries/rocThrust/device_ptr/device_ptr_vs2022.vcxproj +++ b/Libraries/rocThrust/device_ptr/device_ptr_vs2022.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/device_ptr/main.hip b/Libraries/rocThrust/device_ptr/main.hip index f5444f339..f799098ec 100644 --- a/Libraries/rocThrust/device_ptr/main.hip +++ b/Libraries/rocThrust/device_ptr/main.hip @@ -69,7 +69,7 @@ int main() << std::endl; thrust::device_ptr wrapped_ptr = thrust::device_pointer_cast(raw_ptr); // The wrapped pointer is expected to be equal with the original one - assert(wrapped_ptr == d_ptr); + assert((wrapped_ptr == d_ptr)); std::cout << "The sum of values in \"wrapped_ptr\" is " << thrust::reduce(wrapped_ptr, wrapped_ptr + N) << std::endl; diff --git a/Libraries/rocThrust/norm/CMakeLists.txt b/Libraries/rocThrust/norm/CMakeLists.txt index 05c330131..bed6691aa 100644 --- a/Libraries/rocThrust/norm/CMakeLists.txt +++ b/Libraries/rocThrust/norm/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocthrust_norm) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocthrust_norm LANGUAGES CXX HIP) +project(${example_name} LANGUAGES CXX HIP) set(CMAKE_HIP_STANDARD 17) set(CMAKE_HIP_EXTENSIONS OFF) @@ -32,10 +34,20 @@ if(NOT CMAKE_PREFIX_PATH) endif() find_package(rocthrust REQUIRED) -add_executable(rocthrust_norm main.hip) -target_link_libraries(rocthrust_norm PRIVATE roc::rocthrust) -add_test(rocthrust_norm rocthrust_norm) -target_include_directories(rocthrust_norm PRIVATE "../../../Common") -if(WIN32) - target_compile_definitions(rocthrust_norm PRIVATE WIN32) -endif() + +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) + +target_link_libraries(${example_name} + PRIVATE + roc::rocthrust +) +target_include_directories(${example_name} + PRIVATE + "../../../Common" +) + +# TODO: remove when rocPRIM #ifdef WIN32 is fixed +target_compile_definitions(${example_name} PRIVATE $<$:WIN32>) + +install(TARGETS ${example_name}) diff --git a/Libraries/rocThrust/norm/norm_vs2017.vcxproj b/Libraries/rocThrust/norm/norm_vs2017.vcxproj index 126e7b69f..0e56380f0 100644 --- a/Libraries/rocThrust/norm/norm_vs2017.vcxproj +++ b/Libraries/rocThrust/norm/norm_vs2017.vcxproj @@ -80,6 +80,20 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + --diag-suppress 20011 + + + Console + true + + Level2 @@ -96,6 +110,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/norm/norm_vs2019.vcxproj b/Libraries/rocThrust/norm/norm_vs2019.vcxproj index dce0bce87..8930f924e 100644 --- a/Libraries/rocThrust/norm/norm_vs2019.vcxproj +++ b/Libraries/rocThrust/norm/norm_vs2019.vcxproj @@ -80,6 +80,20 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + --diag-suppress 20011 + + + Console + true + + Level2 @@ -96,6 +110,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/norm/norm_vs2022.vcxproj b/Libraries/rocThrust/norm/norm_vs2022.vcxproj index 2868ac0e6..6060a82b7 100644 --- a/Libraries/rocThrust/norm/norm_vs2022.vcxproj +++ b/Libraries/rocThrust/norm/norm_vs2022.vcxproj @@ -80,6 +80,20 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + --diag-suppress 20011 + + + Console + true + + Level2 @@ -96,6 +110,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/reduce_sum/CMakeLists.txt b/Libraries/rocThrust/reduce_sum/CMakeLists.txt index bbd332f5c..c907a4db1 100644 --- a/Libraries/rocThrust/reduce_sum/CMakeLists.txt +++ b/Libraries/rocThrust/reduce_sum/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocthrust_reduce_sum) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocthrust_reduce_sum LANGUAGES CXX HIP) +project(${example_name} LANGUAGES CXX HIP) set(CMAKE_HIP_STANDARD 17) set(CMAKE_HIP_EXTENSIONS OFF) @@ -32,10 +34,20 @@ if(NOT CMAKE_PREFIX_PATH) endif() find_package(rocthrust REQUIRED) -add_executable(rocthrust_reduce_sum main.hip) -target_link_libraries(rocthrust_reduce_sum PRIVATE roc::rocthrust) -add_test(rocthrust_reduce_sum rocthrust_reduce_sum) -target_include_directories(rocthrust_reduce_sum PRIVATE "../../../Common") -if(WIN32) - target_compile_definitions(rocthrust_reduce_sum PRIVATE WIN32) -endif() + +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) + +target_link_libraries(${example_name} + PRIVATE + roc::rocthrust +) +target_include_directories(${example_name} + PRIVATE + "../../../Common" +) + +# TODO: remove when rocPRIM #ifdef WIN32 is fixed +target_compile_definitions(${example_name} PRIVATE $<$:WIN32>) + +install(TARGETS ${example_name}) diff --git a/Libraries/rocThrust/reduce_sum/reduce_sum_vs2017.vcxproj b/Libraries/rocThrust/reduce_sum/reduce_sum_vs2017.vcxproj index 7e5bf2c42..904eec3e3 100644 --- a/Libraries/rocThrust/reduce_sum/reduce_sum_vs2017.vcxproj +++ b/Libraries/rocThrust/reduce_sum/reduce_sum_vs2017.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/reduce_sum/reduce_sum_vs2019.vcxproj b/Libraries/rocThrust/reduce_sum/reduce_sum_vs2019.vcxproj index 66b14c16d..19ecfe70c 100644 --- a/Libraries/rocThrust/reduce_sum/reduce_sum_vs2019.vcxproj +++ b/Libraries/rocThrust/reduce_sum/reduce_sum_vs2019.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/reduce_sum/reduce_sum_vs2022.vcxproj b/Libraries/rocThrust/reduce_sum/reduce_sum_vs2022.vcxproj index 2c482f7ed..c23586112 100644 --- a/Libraries/rocThrust/reduce_sum/reduce_sum_vs2022.vcxproj +++ b/Libraries/rocThrust/reduce_sum/reduce_sum_vs2022.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/remove_points/CMakeLists.txt b/Libraries/rocThrust/remove_points/CMakeLists.txt index f4c57ce74..a0ea2715d 100644 --- a/Libraries/rocThrust/remove_points/CMakeLists.txt +++ b/Libraries/rocThrust/remove_points/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocthrust_remove_points) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocthrust_remove_points LANGUAGES CXX HIP) +project(${example_name} LANGUAGES CXX HIP) set(CMAKE_HIP_STANDARD 17) set(CMAKE_HIP_EXTENSIONS OFF) @@ -33,10 +35,16 @@ endif() find_package(rocthrust REQUIRED) -add_executable(rocthrust_remove_points main.hip) -target_link_libraries(rocthrust_remove_points PRIVATE roc::rocthrust) -target_include_directories(rocthrust_remove_points PRIVATE "../../../Common") -add_test(rocthrust_remove_points rocthrust_remove_points) -if(WIN32) - target_compile_definitions(rocthrust_remove_points PRIVATE WIN32) -endif() +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) + +target_link_libraries(${example_name} + PRIVATE + roc::rocthrust +) +target_include_directories(${example_name} + PRIVATE + "../../../Common" +) + +install(TARGETS ${example_name}) diff --git a/Libraries/rocThrust/remove_points/remove_points_vs2017.vcxproj b/Libraries/rocThrust/remove_points/remove_points_vs2017.vcxproj index 64940f3f0..087043f37 100644 --- a/Libraries/rocThrust/remove_points/remove_points_vs2017.vcxproj +++ b/Libraries/rocThrust/remove_points/remove_points_vs2017.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/remove_points/remove_points_vs2019.vcxproj b/Libraries/rocThrust/remove_points/remove_points_vs2019.vcxproj index f2d34c8cf..826117702 100644 --- a/Libraries/rocThrust/remove_points/remove_points_vs2019.vcxproj +++ b/Libraries/rocThrust/remove_points/remove_points_vs2019.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/remove_points/remove_points_vs2022.vcxproj b/Libraries/rocThrust/remove_points/remove_points_vs2022.vcxproj index 36005eff1..191218850 100644 --- a/Libraries/rocThrust/remove_points/remove_points_vs2022.vcxproj +++ b/Libraries/rocThrust/remove_points/remove_points_vs2022.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/saxpy/CMakeLists.txt b/Libraries/rocThrust/saxpy/CMakeLists.txt index 1faf9dcb9..bdb12bbfa 100644 --- a/Libraries/rocThrust/saxpy/CMakeLists.txt +++ b/Libraries/rocThrust/saxpy/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocthrust_saxpy) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocthrust_saxpy LANGUAGES CXX HIP) +project(${example_name} LANGUAGES CXX HIP) set(CMAKE_HIP_STANDARD 17) set(CMAKE_HIP_EXTENSIONS OFF) @@ -32,10 +34,17 @@ if(NOT CMAKE_PREFIX_PATH) endif() find_package(rocthrust REQUIRED) -add_executable(rocthrust_saxpy main.hip) -target_link_libraries(rocthrust_saxpy PRIVATE roc::rocthrust) -add_test(rocthrust_saxpy rocthrust_saxpy) -target_include_directories(rocthrust_saxpy PRIVATE "../../../Common") -if(WIN32) - target_compile_definitions(rocthrust_saxpy PRIVATE WIN32) -endif() + +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) + +target_link_libraries(${example_name} + PRIVATE + roc::rocthrust +) +target_include_directories(${example_name} + PRIVATE + "../../../Common" +) + +install(TARGETS ${example_name}) diff --git a/Libraries/rocThrust/saxpy/saxpy_vs2017.vcxproj b/Libraries/rocThrust/saxpy/saxpy_vs2017.vcxproj index 4a3ec922d..db109248f 100644 --- a/Libraries/rocThrust/saxpy/saxpy_vs2017.vcxproj +++ b/Libraries/rocThrust/saxpy/saxpy_vs2017.vcxproj @@ -72,6 +72,18 @@ Level2 __clang__;__HIP__;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + stdcpp17 + + + Console + true + + + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) stdcpp17 $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) @@ -86,6 +98,22 @@ true true __clang__;__HIP__;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + stdcpp17 + + + Console + true + true + true + + + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) stdcpp17 $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) diff --git a/Libraries/rocThrust/saxpy/saxpy_vs2019.vcxproj b/Libraries/rocThrust/saxpy/saxpy_vs2019.vcxproj index c71fd06be..a793b5ade 100644 --- a/Libraries/rocThrust/saxpy/saxpy_vs2019.vcxproj +++ b/Libraries/rocThrust/saxpy/saxpy_vs2019.vcxproj @@ -72,6 +72,18 @@ Level2 __clang__;__HIP__;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + stdcpp17 + + + Console + true + + + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) stdcpp17 $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) @@ -86,6 +98,22 @@ true true __clang__;__HIP__;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + stdcpp17 + + + Console + true + true + true + + + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) stdcpp17 $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) diff --git a/Libraries/rocThrust/saxpy/saxpy_vs2022.vcxproj b/Libraries/rocThrust/saxpy/saxpy_vs2022.vcxproj index 7ab768b29..95cd17b9a 100644 --- a/Libraries/rocThrust/saxpy/saxpy_vs2022.vcxproj +++ b/Libraries/rocThrust/saxpy/saxpy_vs2022.vcxproj @@ -72,6 +72,18 @@ Level2 __clang__;__HIP__;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + stdcpp17 + + + Console + true + + + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) stdcpp17 $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) @@ -86,6 +98,22 @@ true true __clang__;__HIP__;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + stdcpp17 + + + Console + true + true + true + + + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) stdcpp17 $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) diff --git a/Libraries/rocThrust/vectors/CMakeLists.txt b/Libraries/rocThrust/vectors/CMakeLists.txt index 14873b756..5c0b8227e 100644 --- a/Libraries/rocThrust/vectors/CMakeLists.txt +++ b/Libraries/rocThrust/vectors/CMakeLists.txt @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +set(example_name rocthrust_vectors) + cmake_minimum_required(VERSION 3.21 FATAL_ERROR) -project(rocthrust_vectors LANGUAGES CXX HIP) +project(${example_name} LANGUAGES CXX HIP) set(CMAKE_HIP_STANDARD 17) set(CMAKE_HIP_EXTENSIONS OFF) @@ -32,10 +34,17 @@ if(NOT CMAKE_PREFIX_PATH) endif() find_package(rocthrust REQUIRED) -add_executable(rocthrust_vectors main.hip) -target_link_libraries(rocthrust_vectors PRIVATE roc::rocthrust) -add_test(rocthrust_vectors rocthrust_vectors) -target_include_directories(rocthrust_vectors PRIVATE "../../../Common") -if(WIN32) - target_compile_definitions(rocthrust_vectors PRIVATE WIN32) -endif() + +add_executable(${example_name} main.hip) +add_test(${example_name} ${example_name}) + +target_link_libraries(${example_name} + PRIVATE + roc::rocthrust +) +target_include_directories(${example_name} + PRIVATE + "../../../Common" +) + +install(TARGETS ${example_name}) diff --git a/Libraries/rocThrust/vectors/vectors_vs2017.vcxproj b/Libraries/rocThrust/vectors/vectors_vs2017.vcxproj index b85597d87..329601a6c 100644 --- a/Libraries/rocThrust/vectors/vectors_vs2017.vcxproj +++ b/Libraries/rocThrust/vectors/vectors_vs2017.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/vectors/vectors_vs2019.vcxproj b/Libraries/rocThrust/vectors/vectors_vs2019.vcxproj index 03249784a..5a7f6b78e 100644 --- a/Libraries/rocThrust/vectors/vectors_vs2019.vcxproj +++ b/Libraries/rocThrust/vectors/vectors_vs2019.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/Libraries/rocThrust/vectors/vectors_vs2022.vcxproj b/Libraries/rocThrust/vectors/vectors_vs2022.vcxproj index 6b9cfb1cf..e0cfcde3f 100644 --- a/Libraries/rocThrust/vectors/vectors_vs2022.vcxproj +++ b/Libraries/rocThrust/vectors/vectors_vs2022.vcxproj @@ -80,6 +80,18 @@ true + + + Level2 + __CUDACC__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + + Level2 @@ -96,6 +108,22 @@ true + + + Level2 + true + true + __CUDACC__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + stdcpp17 + $(MSBuildProjectDirectory)\..\..\..\Common;%(AdditionalIncludeDirectories) + + + Console + true + true + true + + diff --git a/README.md b/README.md index ed586ae80..5d00ca23d 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ See [CMake build options](#cmake-build-options) for an overview of build options - `$ cd rocm-examples` - `$ cmake -S . -B build` (on ROCm) or `$ cmake -S . -B build -D GPU_RUNTIME=CUDA` (on CUDA) - `$ cmake --build build` +- `$ cmake --install build --prefix install` #### Make Beware that only a subset of the examples support building via Make. diff --git a/ROCm-Examples-Portable-VS2017.sln b/ROCm-Examples-Portable-VS2017.sln new file mode 100644 index 000000000..6507c6d85 --- /dev/null +++ b/ROCm-Examples-Portable-VS2017.sln @@ -0,0 +1,256 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.33403.129 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Applications", "Applications", "{0328C27A-BB25-46F6-89F7-4EEF7AC225D8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HIP-Basic", "HIP-Basic", "{8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{7BFB14C7-DDB4-4583-9261-8450600CDE29}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "hipCUB", "hipCUB", "{9D02B472-C98C-420B-8943-0B3BEDE00643}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "rocThrust", "rocThrust", "{5CAD93DF-160F-4E3A-B1F4-F3CB87B53505}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_ptr_vs2017", "Libraries\rocThrust\device_ptr\device_ptr_vs2017.vcxproj", "{5DD923EB-E763-4B23-AF94-0527326A61CE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "saxpy_vs2017", "Libraries\rocThrust\saxpy\saxpy_vs2017.vcxproj", "{176119CA-C9C7-49DF-BE61-4361F908239E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vectors_vs2017", "Libraries\rocThrust\vectors\vectors_vs2017.vcxproj", "{8E591049-D3C4-408E-A847-88BB85852962}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remove_points_vs2017", "Libraries\rocThrust\remove_points\remove_points_vs2017.vcxproj", "{79395786-C1B9-408F-ADE5-DF9B2793DA33}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "norm_vs2017", "Libraries\rocThrust\norm\norm_vs2017.vcxproj", "{A07ECFA4-C1BE-4B7F-A202-08695F0227E4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reduce_sum_vs2017", "Libraries\rocThrust\reduce_sum\reduce_sum_vs2017.vcxproj", "{B586E07C-8CD6-4EE1-9DC1-8995EBB44F0E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_sum_vs2017", "Libraries\hipCUB\device_sum\device_sum_vs2017.vcxproj", "{48AF1513-2732-45C2-A1AC-28A551A9DE79}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_radix_sort_vs2017", "Libraries\hipCUB\device_radix_sort\device_radix_sort_vs2017.vcxproj", "{C8EDEFF9-36B0-4942-B6DD-2548911D0677}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "floyd_warshall_vs2017", "Applications\floyd_warshall\floyd_warshall_vs2017.vcxproj", "{3BBDA23B-43C0-4B91-8BA8-1CFE8B981184}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamic_shared_vs2017", "HIP-Basic\dynamic_shared\dynamic_shared_vs2017.vcxproj", "{2E7BB11B-FE0F-419C-AA07-448A1472B593}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vulkan_interop_vs2017", "HIP-Basic\vulkan_interop\vulkan_interop_vs2017.vcxproj", "{2136FA2B-ECAE-4998-BED9-14E529D42CA3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runtime_compilation_vs2017", "HIP-Basic\runtime_compilation\runtime_compilation_vs2017.vcxproj", "{CDF0652F-3EBE-4E69-AB80-E065747BBDBC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "warp_shuffle_vs2017", "HIP-Basic\warp_shuffle\warp_shuffle_vs2017.vcxproj", "{A5763302-F669-4CCB-9429-A1F1ED8D93EC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "matrix_multiplication_vs2017", "HIP-Basic\matrix_multiplication\matrix_multiplication_vs2017.vcxproj", "{E300ED61-E779-4009-80A7-D566DAC4ED52}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bit_extract_vs2017", "HIP-Basic\bit_extract\bit_extract_vs2017.vcxproj", "{E9DC3573-5FA9-4C03-8830-909F71ED34D9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_memory_vs2017", "HIP-Basic\shared_memory\shared_memory_vs2017.vcxproj", "{B71A0E84-07AD-4053-B211-214E64EB210D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "texture_management_vs2017", "HIP-Basic\texture_management\texture_management_vs2017.vcxproj", "{61585EE3-7D6B-48EA-BB00-50878CD11604}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "saxpy_vs2017", "HIP-Basic\saxpy\saxpy_vs2017.vcxproj", "{1945EF9B-6E3C-4B44-A5D4-C88074402AAF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_globals_vs2017", "HIP-Basic\device_globals\device_globals_vs2017.vcxproj", "{F6B4FC89-465A-455A-B1E9-FF4C8689E3F0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "moving_average_vs2017", "HIP-Basic\moving_average\moving_average_vs2017.vcxproj", "{5AD84319-5C2E-4012-869F-FD579114B248}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_query_vs2017", "HIP-Basic\device_query\device_query_vs2017.vcxproj", "{A9E1C716-820C-4B29-B36E-4F0AB057F09F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inline_assembly_vs2017", "HIP-Basic\inline_assembly\inline_assembly_vs2017.vcxproj", "{66B01CD4-735E-4E83-9DEF-E7EE88546E8F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "static_host_library_vs2017", "HIP-Basic\static_host_library\static_host_library_vs2017.vcxproj", "{B9FB86C4-D4F9-437C-9430-983BA5D0D152}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "static_host_library_msvc_vs2017", "HIP-Basic\static_host_library\static_host_library_msvc\static_host_library_msvc_vs2017.vcxproj", "{FFD20C1B-D445-4457-8840-AE7A636B9A78}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libhip_static_host_vs2017", "HIP-Basic\static_host_library\library\libhip_static_host_vs2017.vcxproj", "{588559E5-A232-45D3-9181-7BD61BCC6A3F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multi_gpu_data_transfer_vs2017", "HIP-Basic\multi_gpu_data_transfer\multi_gpu_data_transfer_vs2017.vcxproj", "{46798A26-0C49-4E91-85B8-2A9783973C0C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "occupancy_vs2017", "HIP-Basic\occupancy\occupancy_vs2017.vcxproj", "{982A35A8-670E-417A-AEA2-612706ED5E7A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "streams_vs2017", "HIP-Basic\streams\streams_vs2017.vcxproj", "{71F0F220-961D-4E58-847E-4AFAC2E43143}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpu_arch_vs2017", "HIP-Basic\gpu_arch\gpu_arch_vs2017.vcxproj", "{99E1A6EB-E9E3-48AF-A71B-5FE792550F5D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bandwidth_vs2017", "HIP-Basic\bandwidth\bandwidth_vs2017.vcxproj", "{8C3BBAAF-04F6-46F5-96A2-81C047167343}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "events_vs2017", "HIP-Basic\events\events_vs2017.vcxproj", "{AA9E497A-FEDE-45A4-A6CE-A8E3DDDDEB82}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello_world_vs2017", "HIP-Basic\hello_world\hello_world_vs2017.vcxproj", "{BD725C86-E381-4BDD-B3FC-06A42221BEBB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5DD923EB-E763-4B23-AF94-0527326A61CE}.Debug|x64.ActiveCfg = Debug|x64 + {5DD923EB-E763-4B23-AF94-0527326A61CE}.Debug|x64.Build.0 = Debug|x64 + {5DD923EB-E763-4B23-AF94-0527326A61CE}.Release|x64.ActiveCfg = Release|x64 + {5DD923EB-E763-4B23-AF94-0527326A61CE}.Release|x64.Build.0 = Release|x64 + {176119CA-C9C7-49DF-BE61-4361F908239E}.Debug|x64.ActiveCfg = Debug|x64 + {176119CA-C9C7-49DF-BE61-4361F908239E}.Debug|x64.Build.0 = Debug|x64 + {176119CA-C9C7-49DF-BE61-4361F908239E}.Release|x64.ActiveCfg = Release|x64 + {176119CA-C9C7-49DF-BE61-4361F908239E}.Release|x64.Build.0 = Release|x64 + {8E591049-D3C4-408E-A847-88BB85852962}.Debug|x64.ActiveCfg = Debug|x64 + {8E591049-D3C4-408E-A847-88BB85852962}.Debug|x64.Build.0 = Debug|x64 + {8E591049-D3C4-408E-A847-88BB85852962}.Release|x64.ActiveCfg = Release|x64 + {8E591049-D3C4-408E-A847-88BB85852962}.Release|x64.Build.0 = Release|x64 + {79395786-C1B9-408F-ADE5-DF9B2793DA33}.Debug|x64.ActiveCfg = Debug|x64 + {79395786-C1B9-408F-ADE5-DF9B2793DA33}.Debug|x64.Build.0 = Debug|x64 + {79395786-C1B9-408F-ADE5-DF9B2793DA33}.Release|x64.ActiveCfg = Release|x64 + {79395786-C1B9-408F-ADE5-DF9B2793DA33}.Release|x64.Build.0 = Release|x64 + {A07ECFA4-C1BE-4B7F-A202-08695F0227E4}.Debug|x64.ActiveCfg = Debug|x64 + {A07ECFA4-C1BE-4B7F-A202-08695F0227E4}.Debug|x64.Build.0 = Debug|x64 + {A07ECFA4-C1BE-4B7F-A202-08695F0227E4}.Release|x64.ActiveCfg = Release|x64 + {A07ECFA4-C1BE-4B7F-A202-08695F0227E4}.Release|x64.Build.0 = Release|x64 + {B586E07C-8CD6-4EE1-9DC1-8995EBB44F0E}.Debug|x64.ActiveCfg = Debug|x64 + {B586E07C-8CD6-4EE1-9DC1-8995EBB44F0E}.Debug|x64.Build.0 = Debug|x64 + {B586E07C-8CD6-4EE1-9DC1-8995EBB44F0E}.Release|x64.ActiveCfg = Release|x64 + {B586E07C-8CD6-4EE1-9DC1-8995EBB44F0E}.Release|x64.Build.0 = Release|x64 + {48AF1513-2732-45C2-A1AC-28A551A9DE79}.Debug|x64.ActiveCfg = Debug|x64 + {48AF1513-2732-45C2-A1AC-28A551A9DE79}.Debug|x64.Build.0 = Debug|x64 + {48AF1513-2732-45C2-A1AC-28A551A9DE79}.Release|x64.ActiveCfg = Release|x64 + {48AF1513-2732-45C2-A1AC-28A551A9DE79}.Release|x64.Build.0 = Release|x64 + {C8EDEFF9-36B0-4942-B6DD-2548911D0677}.Debug|x64.ActiveCfg = Debug|x64 + {C8EDEFF9-36B0-4942-B6DD-2548911D0677}.Debug|x64.Build.0 = Debug|x64 + {C8EDEFF9-36B0-4942-B6DD-2548911D0677}.Release|x64.ActiveCfg = Release|x64 + {C8EDEFF9-36B0-4942-B6DD-2548911D0677}.Release|x64.Build.0 = Release|x64 + {3BBDA23B-43C0-4B91-8BA8-1CFE8B981184}.Debug|x64.ActiveCfg = Debug|x64 + {3BBDA23B-43C0-4B91-8BA8-1CFE8B981184}.Debug|x64.Build.0 = Debug|x64 + {3BBDA23B-43C0-4B91-8BA8-1CFE8B981184}.Release|x64.ActiveCfg = Release|x64 + {3BBDA23B-43C0-4B91-8BA8-1CFE8B981184}.Release|x64.Build.0 = Release|x64 + {2E7BB11B-FE0F-419C-AA07-448A1472B593}.Debug|x64.ActiveCfg = Debug|x64 + {2E7BB11B-FE0F-419C-AA07-448A1472B593}.Debug|x64.Build.0 = Debug|x64 + {2E7BB11B-FE0F-419C-AA07-448A1472B593}.Release|x64.ActiveCfg = Release|x64 + {2E7BB11B-FE0F-419C-AA07-448A1472B593}.Release|x64.Build.0 = Release|x64 + {2136FA2B-ECAE-4998-BED9-14E529D42CA3}.Debug|x64.ActiveCfg = Debug|x64 + {2136FA2B-ECAE-4998-BED9-14E529D42CA3}.Debug|x64.Build.0 = Debug|x64 + {2136FA2B-ECAE-4998-BED9-14E529D42CA3}.Release|x64.ActiveCfg = Release|x64 + {2136FA2B-ECAE-4998-BED9-14E529D42CA3}.Release|x64.Build.0 = Release|x64 + {CDF0652F-3EBE-4E69-AB80-E065747BBDBC}.Debug|x64.ActiveCfg = Debug|x64 + {CDF0652F-3EBE-4E69-AB80-E065747BBDBC}.Debug|x64.Build.0 = Debug|x64 + {CDF0652F-3EBE-4E69-AB80-E065747BBDBC}.Release|x64.ActiveCfg = Release|x64 + {CDF0652F-3EBE-4E69-AB80-E065747BBDBC}.Release|x64.Build.0 = Release|x64 + {A5763302-F669-4CCB-9429-A1F1ED8D93EC}.Debug|x64.ActiveCfg = Debug|x64 + {A5763302-F669-4CCB-9429-A1F1ED8D93EC}.Debug|x64.Build.0 = Debug|x64 + {A5763302-F669-4CCB-9429-A1F1ED8D93EC}.Release|x64.ActiveCfg = Release|x64 + {A5763302-F669-4CCB-9429-A1F1ED8D93EC}.Release|x64.Build.0 = Release|x64 + {E300ED61-E779-4009-80A7-D566DAC4ED52}.Debug|x64.ActiveCfg = Debug|x64 + {E300ED61-E779-4009-80A7-D566DAC4ED52}.Debug|x64.Build.0 = Debug|x64 + {E300ED61-E779-4009-80A7-D566DAC4ED52}.Release|x64.ActiveCfg = Release|x64 + {E300ED61-E779-4009-80A7-D566DAC4ED52}.Release|x64.Build.0 = Release|x64 + {E9DC3573-5FA9-4C03-8830-909F71ED34D9}.Debug|x64.ActiveCfg = Debug|x64 + {E9DC3573-5FA9-4C03-8830-909F71ED34D9}.Debug|x64.Build.0 = Debug|x64 + {E9DC3573-5FA9-4C03-8830-909F71ED34D9}.Release|x64.ActiveCfg = Release|x64 + {E9DC3573-5FA9-4C03-8830-909F71ED34D9}.Release|x64.Build.0 = Release|x64 + {B71A0E84-07AD-4053-B211-214E64EB210D}.Debug|x64.ActiveCfg = Debug|x64 + {B71A0E84-07AD-4053-B211-214E64EB210D}.Debug|x64.Build.0 = Debug|x64 + {B71A0E84-07AD-4053-B211-214E64EB210D}.Release|x64.ActiveCfg = Release|x64 + {B71A0E84-07AD-4053-B211-214E64EB210D}.Release|x64.Build.0 = Release|x64 + {61585EE3-7D6B-48EA-BB00-50878CD11604}.Debug|x64.ActiveCfg = Debug|x64 + {61585EE3-7D6B-48EA-BB00-50878CD11604}.Debug|x64.Build.0 = Debug|x64 + {61585EE3-7D6B-48EA-BB00-50878CD11604}.Release|x64.ActiveCfg = Release|x64 + {61585EE3-7D6B-48EA-BB00-50878CD11604}.Release|x64.Build.0 = Release|x64 + {1945EF9B-6E3C-4B44-A5D4-C88074402AAF}.Debug|x64.ActiveCfg = Debug|x64 + {1945EF9B-6E3C-4B44-A5D4-C88074402AAF}.Debug|x64.Build.0 = Debug|x64 + {1945EF9B-6E3C-4B44-A5D4-C88074402AAF}.Release|x64.ActiveCfg = Release|x64 + {1945EF9B-6E3C-4B44-A5D4-C88074402AAF}.Release|x64.Build.0 = Release|x64 + {F6B4FC89-465A-455A-B1E9-FF4C8689E3F0}.Debug|x64.ActiveCfg = Debug|x64 + {F6B4FC89-465A-455A-B1E9-FF4C8689E3F0}.Debug|x64.Build.0 = Debug|x64 + {F6B4FC89-465A-455A-B1E9-FF4C8689E3F0}.Release|x64.ActiveCfg = Release|x64 + {F6B4FC89-465A-455A-B1E9-FF4C8689E3F0}.Release|x64.Build.0 = Release|x64 + {5AD84319-5C2E-4012-869F-FD579114B248}.Debug|x64.ActiveCfg = Debug|x64 + {5AD84319-5C2E-4012-869F-FD579114B248}.Debug|x64.Build.0 = Debug|x64 + {5AD84319-5C2E-4012-869F-FD579114B248}.Release|x64.ActiveCfg = Release|x64 + {5AD84319-5C2E-4012-869F-FD579114B248}.Release|x64.Build.0 = Release|x64 + {A9E1C716-820C-4B29-B36E-4F0AB057F09F}.Debug|x64.ActiveCfg = Debug|x64 + {A9E1C716-820C-4B29-B36E-4F0AB057F09F}.Debug|x64.Build.0 = Debug|x64 + {A9E1C716-820C-4B29-B36E-4F0AB057F09F}.Release|x64.ActiveCfg = Release|x64 + {A9E1C716-820C-4B29-B36E-4F0AB057F09F}.Release|x64.Build.0 = Release|x64 + {66B01CD4-735E-4E83-9DEF-E7EE88546E8F}.Debug|x64.ActiveCfg = Debug|x64 + {66B01CD4-735E-4E83-9DEF-E7EE88546E8F}.Debug|x64.Build.0 = Debug|x64 + {66B01CD4-735E-4E83-9DEF-E7EE88546E8F}.Release|x64.ActiveCfg = Release|x64 + {66B01CD4-735E-4E83-9DEF-E7EE88546E8F}.Release|x64.Build.0 = Release|x64 + {B9FB86C4-D4F9-437C-9430-983BA5D0D152}.Debug|x64.ActiveCfg = Debug|x64 + {B9FB86C4-D4F9-437C-9430-983BA5D0D152}.Debug|x64.Build.0 = Debug|x64 + {B9FB86C4-D4F9-437C-9430-983BA5D0D152}.Release|x64.ActiveCfg = Release|x64 + {B9FB86C4-D4F9-437C-9430-983BA5D0D152}.Release|x64.Build.0 = Release|x64 + {FFD20C1B-D445-4457-8840-AE7A636B9A78}.Debug|x64.ActiveCfg = Debug|x64 + {FFD20C1B-D445-4457-8840-AE7A636B9A78}.Debug|x64.Build.0 = Debug|x64 + {FFD20C1B-D445-4457-8840-AE7A636B9A78}.Release|x64.ActiveCfg = Release|x64 + {FFD20C1B-D445-4457-8840-AE7A636B9A78}.Release|x64.Build.0 = Release|x64 + {588559E5-A232-45D3-9181-7BD61BCC6A3F}.Debug|x64.ActiveCfg = Debug|x64 + {588559E5-A232-45D3-9181-7BD61BCC6A3F}.Debug|x64.Build.0 = Debug|x64 + {588559E5-A232-45D3-9181-7BD61BCC6A3F}.Release|x64.ActiveCfg = Release|x64 + {588559E5-A232-45D3-9181-7BD61BCC6A3F}.Release|x64.Build.0 = Release|x64 + {46798A26-0C49-4E91-85B8-2A9783973C0C}.Debug|x64.ActiveCfg = Debug|x64 + {46798A26-0C49-4E91-85B8-2A9783973C0C}.Debug|x64.Build.0 = Debug|x64 + {46798A26-0C49-4E91-85B8-2A9783973C0C}.Release|x64.ActiveCfg = Release|x64 + {46798A26-0C49-4E91-85B8-2A9783973C0C}.Release|x64.Build.0 = Release|x64 + {982A35A8-670E-417A-AEA2-612706ED5E7A}.Debug|x64.ActiveCfg = Debug|x64 + {982A35A8-670E-417A-AEA2-612706ED5E7A}.Debug|x64.Build.0 = Debug|x64 + {982A35A8-670E-417A-AEA2-612706ED5E7A}.Release|x64.ActiveCfg = Release|x64 + {982A35A8-670E-417A-AEA2-612706ED5E7A}.Release|x64.Build.0 = Release|x64 + {71F0F220-961D-4E58-847E-4AFAC2E43143}.Debug|x64.ActiveCfg = Debug|x64 + {71F0F220-961D-4E58-847E-4AFAC2E43143}.Debug|x64.Build.0 = Debug|x64 + {71F0F220-961D-4E58-847E-4AFAC2E43143}.Release|x64.ActiveCfg = Release|x64 + {71F0F220-961D-4E58-847E-4AFAC2E43143}.Release|x64.Build.0 = Release|x64 + {99E1A6EB-E9E3-48AF-A71B-5FE792550F5D}.Debug|x64.ActiveCfg = Debug|x64 + {99E1A6EB-E9E3-48AF-A71B-5FE792550F5D}.Debug|x64.Build.0 = Debug|x64 + {99E1A6EB-E9E3-48AF-A71B-5FE792550F5D}.Release|x64.ActiveCfg = Release|x64 + {99E1A6EB-E9E3-48AF-A71B-5FE792550F5D}.Release|x64.Build.0 = Release|x64 + {8C3BBAAF-04F6-46F5-96A2-81C047167343}.Debug|x64.ActiveCfg = Debug|x64 + {8C3BBAAF-04F6-46F5-96A2-81C047167343}.Debug|x64.Build.0 = Debug|x64 + {8C3BBAAF-04F6-46F5-96A2-81C047167343}.Release|x64.ActiveCfg = Release|x64 + {8C3BBAAF-04F6-46F5-96A2-81C047167343}.Release|x64.Build.0 = Release|x64 + {AA9E497A-FEDE-45A4-A6CE-A8E3DDDDEB82}.Debug|x64.ActiveCfg = Debug|x64 + {AA9E497A-FEDE-45A4-A6CE-A8E3DDDDEB82}.Debug|x64.Build.0 = Debug|x64 + {AA9E497A-FEDE-45A4-A6CE-A8E3DDDDEB82}.Release|x64.ActiveCfg = Release|x64 + {AA9E497A-FEDE-45A4-A6CE-A8E3DDDDEB82}.Release|x64.Build.0 = Release|x64 + {BD725C86-E381-4BDD-B3FC-06A42221BEBB}.Debug|x64.ActiveCfg = Debug|x64 + {BD725C86-E381-4BDD-B3FC-06A42221BEBB}.Debug|x64.Build.0 = Debug|x64 + {BD725C86-E381-4BDD-B3FC-06A42221BEBB}.Release|x64.ActiveCfg = Release|x64 + {BD725C86-E381-4BDD-B3FC-06A42221BEBB}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {9D02B472-C98C-420B-8943-0B3BEDE00643} = {7BFB14C7-DDB4-4583-9261-8450600CDE29} + {5CAD93DF-160F-4E3A-B1F4-F3CB87B53505} = {7BFB14C7-DDB4-4583-9261-8450600CDE29} + {5DD923EB-E763-4B23-AF94-0527326A61CE} = {5CAD93DF-160F-4E3A-B1F4-F3CB87B53505} + {176119CA-C9C7-49DF-BE61-4361F908239E} = {5CAD93DF-160F-4E3A-B1F4-F3CB87B53505} + {8E591049-D3C4-408E-A847-88BB85852962} = {5CAD93DF-160F-4E3A-B1F4-F3CB87B53505} + {79395786-C1B9-408F-ADE5-DF9B2793DA33} = {5CAD93DF-160F-4E3A-B1F4-F3CB87B53505} + {A07ECFA4-C1BE-4B7F-A202-08695F0227E4} = {5CAD93DF-160F-4E3A-B1F4-F3CB87B53505} + {B586E07C-8CD6-4EE1-9DC1-8995EBB44F0E} = {5CAD93DF-160F-4E3A-B1F4-F3CB87B53505} + {48AF1513-2732-45C2-A1AC-28A551A9DE79} = {9D02B472-C98C-420B-8943-0B3BEDE00643} + {C8EDEFF9-36B0-4942-B6DD-2548911D0677} = {9D02B472-C98C-420B-8943-0B3BEDE00643} + {3BBDA23B-43C0-4B91-8BA8-1CFE8B981184} = {0328C27A-BB25-46F6-89F7-4EEF7AC225D8} + {2E7BB11B-FE0F-419C-AA07-448A1472B593} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {2136FA2B-ECAE-4998-BED9-14E529D42CA3} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {CDF0652F-3EBE-4E69-AB80-E065747BBDBC} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {A5763302-F669-4CCB-9429-A1F1ED8D93EC} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {E300ED61-E779-4009-80A7-D566DAC4ED52} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {E9DC3573-5FA9-4C03-8830-909F71ED34D9} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {B71A0E84-07AD-4053-B211-214E64EB210D} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {61585EE3-7D6B-48EA-BB00-50878CD11604} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {1945EF9B-6E3C-4B44-A5D4-C88074402AAF} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {F6B4FC89-465A-455A-B1E9-FF4C8689E3F0} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {5AD84319-5C2E-4012-869F-FD579114B248} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {A9E1C716-820C-4B29-B36E-4F0AB057F09F} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {66B01CD4-735E-4E83-9DEF-E7EE88546E8F} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {B9FB86C4-D4F9-437C-9430-983BA5D0D152} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {FFD20C1B-D445-4457-8840-AE7A636B9A78} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {588559E5-A232-45D3-9181-7BD61BCC6A3F} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {46798A26-0C49-4E91-85B8-2A9783973C0C} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {982A35A8-670E-417A-AEA2-612706ED5E7A} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {71F0F220-961D-4E58-847E-4AFAC2E43143} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {99E1A6EB-E9E3-48AF-A71B-5FE792550F5D} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {8C3BBAAF-04F6-46F5-96A2-81C047167343} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {AA9E497A-FEDE-45A4-A6CE-A8E3DDDDEB82} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + {BD725C86-E381-4BDD-B3FC-06A42221BEBB} = {8DF2222B-5CDB-44DE-AC5D-D24C6C0B0B49} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5C96FD63-6F26-4E6F-B6D0-7FB9E1833081} + EndGlobalSection +EndGlobal diff --git a/ROCm-Examples-Portable-VS2019.sln b/ROCm-Examples-Portable-VS2019.sln new file mode 100644 index 000000000..f0dce37ab --- /dev/null +++ b/ROCm-Examples-Portable-VS2019.sln @@ -0,0 +1,256 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32630.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Applications", "Applications", "{9254BAD9-FDFC-4645-B2C8-EEB42F1F069D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "floyd_warshall_vs2019", "Applications\floyd_warshall\floyd_warshall_vs2019.vcxproj", "{FB6B7014-2BC9-475C-B3CC-FEE6B4C5B103}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{052412EF-7CEB-4E32-96F9-AADBC70945D7}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "rocThrust", "rocThrust", "{481D0AFC-64BC-436C-9FF5-7C07F9F8E4BD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_ptr_vs2019", "Libraries\rocThrust\device_ptr\device_ptr_vs2019.vcxproj", "{FD1402C4-336F-4AEF-A5F6-1DD7903A965C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "norm_vs2019", "Libraries\rocThrust\norm\norm_vs2019.vcxproj", "{8683C739-F470-44A6-A187-9A5929AE9DF9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reduce_sum_vs2019", "Libraries\rocThrust\reduce_sum\reduce_sum_vs2019.vcxproj", "{C0405FFB-7AA2-49C2-9AB5-AF336A54B41C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vectors_vs2019", "Libraries\rocThrust\vectors\vectors_vs2019.vcxproj", "{8DEA1F0F-8BF3-422C-9BCD-99F69F43D013}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "hipCUB", "hipCUB", "{DCEAB7B6-0784-4186-B79F-5C7C947F9077}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_radix_sort_vs2019", "Libraries\hipCUB\device_radix_sort\device_radix_sort_vs2019.vcxproj", "{BE670E16-8A40-46E0-9CF2-93352ED685B0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_sum_vs2019", "Libraries\hipCUB\device_sum\device_sum_vs2019.vcxproj", "{EF1E1A7E-2803-4606-BD9A-DA8FA981ABA4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remove_points_vs2019", "Libraries\rocThrust\remove_points\remove_points_vs2019.vcxproj", "{631C61AA-52BA-4818-BD39-FA9CF47076C7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "saxpy_vs2019", "Libraries\rocThrust\saxpy\saxpy_vs2019.vcxproj", "{E1D552CF-3FE3-427A-95E1-8CFFB60BBF8E}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HIP-Basic", "HIP-Basic", "{6EB7144D-2707-489E-A043-D59B7BE006D1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_query_vs2019", "HIP-Basic\device_query\device_query_vs2019.vcxproj", "{C2C6E811-57E3-44C5-9AB9-195D60A1638C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "saxpy_vs2019", "HIP-Basic\saxpy\saxpy_vs2019.vcxproj", "{D6334F08-D560-439A-A704-ADA0349D72B7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "matrix_multiplication_vs2019", "HIP-Basic\matrix_multiplication\matrix_multiplication_vs2019.vcxproj", "{ACC2A1E7-5865-4FAE-9016-E6EF73F8FA9E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multi_gpu_data_transfer_vs2019", "HIP-Basic\multi_gpu_data_transfer\multi_gpu_data_transfer_vs2019.vcxproj", "{6A0FFF7E-9C0A-4BF5-BBA5-745CB4253EFB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "occupancy_vs2019", "HIP-Basic\occupancy\occupancy_vs2019.vcxproj", "{E5B2FC79-3928-47F6-B57B-33AAA3C5D9C5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runtime_compilation_vs2019", "HIP-Basic\runtime_compilation\runtime_compilation_vs2019.vcxproj", "{E03790B7-B203-4504-BEF5-F4F061183642}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inline_assembly_vs2019", "HIP-Basic\inline_assembly\inline_assembly_vs2019.vcxproj", "{4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpu_arch_vs2019", "HIP-Basic\gpu_arch\gpu_arch_vs2019.vcxproj", "{4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamic_shared_vs2019", "HIP-Basic\dynamic_shared\dynamic_shared_vs2019.vcxproj", "{7B7D1745-7635-40DA-B6AF-B8F728A31124}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_memory_vs2019", "HIP-Basic\shared_memory\shared_memory_vs2019.vcxproj", "{C370ACB7-AE52-4AD8-8C3D-4C32567FFE7D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "streams_vs2019", "HIP-Basic\streams\streams_vs2019.vcxproj", "{4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "events_vs2019", "HIP-Basic\events\events_vs2019.vcxproj", "{5B822836-110B-44D8-8E02-2A9B2CB83D14}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bandwidth_vs2019", "HIP-Basic\bandwidth\bandwidth_vs2019.vcxproj", "{16B11B54-CD72-43B6-B226-38C668B41A79}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "warp_shuffle_vs2019", "HIP-Basic\warp_shuffle\warp_shuffle_vs2019.vcxproj", "{5852BE0E-BDA5-4BD9-8A16-30E8E40F4045}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bit_extract_vs2019", "HIP-Basic\bit_extract\bit_extract_vs2019.vcxproj", "{63823DD0-787C-42AE-B6E7-C03CF4CF5CE2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vulkan_interop_vs2019", "HIP-Basic\vulkan_interop\vulkan_interop_vs2019.vcxproj", "{688433E2-B189-431D-A5F8-9AC82102B58C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_globals_vs2019", "HIP-Basic\device_globals\device_globals_vs2019.vcxproj", "{F7DD9451-B0CA-4C76-AB92-0E01CBEBDBBE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "moving_average_vs2019", "HIP-Basic\moving_average\moving_average_vs2019.vcxproj", "{628390E3-DB62-4D52-9594-DE6BC15F9943}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "static_host_library_vs2019", "HIP-Basic\static_host_library\static_host_library_vs2019.vcxproj", "{5F8A7FEE-3A79-4588-9244-8575748026F7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libhip_static_host_vs2019", "HIP-Basic\static_host_library\library\libhip_static_host_vs2019.vcxproj", "{6D3F8F78-225E-490E-ABD3-762857EBF597}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "static_host_library_msvc_vs2019", "HIP-Basic\static_host_library\static_host_library_msvc\static_host_library_msvc_vs2019.vcxproj", "{547B99C2-CBE3-4E1F-A1D6-26E261D67A3E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello_world_vs2019", "HIP-Basic\hello_world\hello_world_vs2019.vcxproj", "{5E0E9AB0-B708-481F-9226-DD92C3798341}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "texture_management_vs2019", "HIP-Basic\texture_management\texture_management_vs2019.vcxproj", "{40E56BFB-1A0C-4618-BB49-A9AA635127C1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FB6B7014-2BC9-475C-B3CC-FEE6B4C5B103}.Debug|x64.ActiveCfg = Debug|x64 + {FB6B7014-2BC9-475C-B3CC-FEE6B4C5B103}.Debug|x64.Build.0 = Debug|x64 + {FB6B7014-2BC9-475C-B3CC-FEE6B4C5B103}.Release|x64.ActiveCfg = Release|x64 + {FB6B7014-2BC9-475C-B3CC-FEE6B4C5B103}.Release|x64.Build.0 = Release|x64 + {FD1402C4-336F-4AEF-A5F6-1DD7903A965C}.Debug|x64.ActiveCfg = Debug|x64 + {FD1402C4-336F-4AEF-A5F6-1DD7903A965C}.Debug|x64.Build.0 = Debug|x64 + {FD1402C4-336F-4AEF-A5F6-1DD7903A965C}.Release|x64.ActiveCfg = Release|x64 + {FD1402C4-336F-4AEF-A5F6-1DD7903A965C}.Release|x64.Build.0 = Release|x64 + {8683C739-F470-44A6-A187-9A5929AE9DF9}.Debug|x64.ActiveCfg = Debug|x64 + {8683C739-F470-44A6-A187-9A5929AE9DF9}.Debug|x64.Build.0 = Debug|x64 + {8683C739-F470-44A6-A187-9A5929AE9DF9}.Release|x64.ActiveCfg = Release|x64 + {8683C739-F470-44A6-A187-9A5929AE9DF9}.Release|x64.Build.0 = Release|x64 + {C0405FFB-7AA2-49C2-9AB5-AF336A54B41C}.Debug|x64.ActiveCfg = Debug|x64 + {C0405FFB-7AA2-49C2-9AB5-AF336A54B41C}.Debug|x64.Build.0 = Debug|x64 + {C0405FFB-7AA2-49C2-9AB5-AF336A54B41C}.Release|x64.ActiveCfg = Release|x64 + {C0405FFB-7AA2-49C2-9AB5-AF336A54B41C}.Release|x64.Build.0 = Release|x64 + {8DEA1F0F-8BF3-422C-9BCD-99F69F43D013}.Debug|x64.ActiveCfg = Debug|x64 + {8DEA1F0F-8BF3-422C-9BCD-99F69F43D013}.Debug|x64.Build.0 = Debug|x64 + {8DEA1F0F-8BF3-422C-9BCD-99F69F43D013}.Release|x64.ActiveCfg = Release|x64 + {8DEA1F0F-8BF3-422C-9BCD-99F69F43D013}.Release|x64.Build.0 = Release|x64 + {BE670E16-8A40-46E0-9CF2-93352ED685B0}.Debug|x64.ActiveCfg = Debug|x64 + {BE670E16-8A40-46E0-9CF2-93352ED685B0}.Debug|x64.Build.0 = Debug|x64 + {BE670E16-8A40-46E0-9CF2-93352ED685B0}.Release|x64.ActiveCfg = Release|x64 + {BE670E16-8A40-46E0-9CF2-93352ED685B0}.Release|x64.Build.0 = Release|x64 + {EF1E1A7E-2803-4606-BD9A-DA8FA981ABA4}.Debug|x64.ActiveCfg = Debug|x64 + {EF1E1A7E-2803-4606-BD9A-DA8FA981ABA4}.Debug|x64.Build.0 = Debug|x64 + {EF1E1A7E-2803-4606-BD9A-DA8FA981ABA4}.Release|x64.ActiveCfg = Release|x64 + {EF1E1A7E-2803-4606-BD9A-DA8FA981ABA4}.Release|x64.Build.0 = Release|x64 + {631C61AA-52BA-4818-BD39-FA9CF47076C7}.Debug|x64.ActiveCfg = Debug|x64 + {631C61AA-52BA-4818-BD39-FA9CF47076C7}.Debug|x64.Build.0 = Debug|x64 + {631C61AA-52BA-4818-BD39-FA9CF47076C7}.Release|x64.ActiveCfg = Release|x64 + {631C61AA-52BA-4818-BD39-FA9CF47076C7}.Release|x64.Build.0 = Release|x64 + {E1D552CF-3FE3-427A-95E1-8CFFB60BBF8E}.Debug|x64.ActiveCfg = Debug|x64 + {E1D552CF-3FE3-427A-95E1-8CFFB60BBF8E}.Debug|x64.Build.0 = Debug|x64 + {E1D552CF-3FE3-427A-95E1-8CFFB60BBF8E}.Release|x64.ActiveCfg = Release|x64 + {E1D552CF-3FE3-427A-95E1-8CFFB60BBF8E}.Release|x64.Build.0 = Release|x64 + {C2C6E811-57E3-44C5-9AB9-195D60A1638C}.Debug|x64.ActiveCfg = Debug|x64 + {C2C6E811-57E3-44C5-9AB9-195D60A1638C}.Debug|x64.Build.0 = Debug|x64 + {C2C6E811-57E3-44C5-9AB9-195D60A1638C}.Release|x64.ActiveCfg = Release|x64 + {C2C6E811-57E3-44C5-9AB9-195D60A1638C}.Release|x64.Build.0 = Release|x64 + {D6334F08-D560-439A-A704-ADA0349D72B7}.Debug|x64.ActiveCfg = Debug|x64 + {D6334F08-D560-439A-A704-ADA0349D72B7}.Debug|x64.Build.0 = Debug|x64 + {D6334F08-D560-439A-A704-ADA0349D72B7}.Release|x64.ActiveCfg = Release|x64 + {D6334F08-D560-439A-A704-ADA0349D72B7}.Release|x64.Build.0 = Release|x64 + {ACC2A1E7-5865-4FAE-9016-E6EF73F8FA9E}.Debug|x64.ActiveCfg = Debug|x64 + {ACC2A1E7-5865-4FAE-9016-E6EF73F8FA9E}.Debug|x64.Build.0 = Debug|x64 + {ACC2A1E7-5865-4FAE-9016-E6EF73F8FA9E}.Release|x64.ActiveCfg = Release|x64 + {ACC2A1E7-5865-4FAE-9016-E6EF73F8FA9E}.Release|x64.Build.0 = Release|x64 + {6A0FFF7E-9C0A-4BF5-BBA5-745CB4253EFB}.Debug|x64.ActiveCfg = Debug|x64 + {6A0FFF7E-9C0A-4BF5-BBA5-745CB4253EFB}.Debug|x64.Build.0 = Debug|x64 + {6A0FFF7E-9C0A-4BF5-BBA5-745CB4253EFB}.Release|x64.ActiveCfg = Release|x64 + {6A0FFF7E-9C0A-4BF5-BBA5-745CB4253EFB}.Release|x64.Build.0 = Release|x64 + {E5B2FC79-3928-47F6-B57B-33AAA3C5D9C5}.Debug|x64.ActiveCfg = Debug|x64 + {E5B2FC79-3928-47F6-B57B-33AAA3C5D9C5}.Debug|x64.Build.0 = Debug|x64 + {E5B2FC79-3928-47F6-B57B-33AAA3C5D9C5}.Release|x64.ActiveCfg = Release|x64 + {E5B2FC79-3928-47F6-B57B-33AAA3C5D9C5}.Release|x64.Build.0 = Release|x64 + {E03790B7-B203-4504-BEF5-F4F061183642}.Debug|x64.ActiveCfg = Debug|x64 + {E03790B7-B203-4504-BEF5-F4F061183642}.Debug|x64.Build.0 = Debug|x64 + {E03790B7-B203-4504-BEF5-F4F061183642}.Release|x64.ActiveCfg = Release|x64 + {E03790B7-B203-4504-BEF5-F4F061183642}.Release|x64.Build.0 = Release|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A7}.Debug|x64.ActiveCfg = Debug|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A7}.Debug|x64.Build.0 = Debug|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A7}.Release|x64.ActiveCfg = Release|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A7}.Release|x64.Build.0 = Release|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A8}.Debug|x64.ActiveCfg = Debug|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A8}.Debug|x64.Build.0 = Debug|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A8}.Release|x64.ActiveCfg = Release|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A8}.Release|x64.Build.0 = Release|x64 + {7B7D1745-7635-40DA-B6AF-B8F728A31124}.Debug|x64.ActiveCfg = Debug|x64 + {7B7D1745-7635-40DA-B6AF-B8F728A31124}.Debug|x64.Build.0 = Debug|x64 + {7B7D1745-7635-40DA-B6AF-B8F728A31124}.Release|x64.ActiveCfg = Release|x64 + {7B7D1745-7635-40DA-B6AF-B8F728A31124}.Release|x64.Build.0 = Release|x64 + {C370ACB7-AE52-4AD8-8C3D-4C32567FFE7D}.Debug|x64.ActiveCfg = Debug|x64 + {C370ACB7-AE52-4AD8-8C3D-4C32567FFE7D}.Debug|x64.Build.0 = Debug|x64 + {C370ACB7-AE52-4AD8-8C3D-4C32567FFE7D}.Release|x64.ActiveCfg = Release|x64 + {C370ACB7-AE52-4AD8-8C3D-4C32567FFE7D}.Release|x64.Build.0 = Release|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A9}.Debug|x64.ActiveCfg = Debug|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A9}.Debug|x64.Build.0 = Debug|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A9}.Release|x64.ActiveCfg = Release|x64 + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A9}.Release|x64.Build.0 = Release|x64 + {5B822836-110B-44D8-8E02-2A9B2CB83D14}.Debug|x64.ActiveCfg = Debug|x64 + {5B822836-110B-44D8-8E02-2A9B2CB83D14}.Debug|x64.Build.0 = Debug|x64 + {5B822836-110B-44D8-8E02-2A9B2CB83D14}.Release|x64.ActiveCfg = Release|x64 + {5B822836-110B-44D8-8E02-2A9B2CB83D14}.Release|x64.Build.0 = Release|x64 + {16B11B54-CD72-43B6-B226-38C668B41A79}.Debug|x64.ActiveCfg = Debug|x64 + {16B11B54-CD72-43B6-B226-38C668B41A79}.Debug|x64.Build.0 = Debug|x64 + {16B11B54-CD72-43B6-B226-38C668B41A79}.Release|x64.ActiveCfg = Release|x64 + {16B11B54-CD72-43B6-B226-38C668B41A79}.Release|x64.Build.0 = Release|x64 + {5852BE0E-BDA5-4BD9-8A16-30E8E40F4045}.Debug|x64.ActiveCfg = Debug|x64 + {5852BE0E-BDA5-4BD9-8A16-30E8E40F4045}.Debug|x64.Build.0 = Debug|x64 + {5852BE0E-BDA5-4BD9-8A16-30E8E40F4045}.Release|x64.ActiveCfg = Release|x64 + {5852BE0E-BDA5-4BD9-8A16-30E8E40F4045}.Release|x64.Build.0 = Release|x64 + {63823DD0-787C-42AE-B6E7-C03CF4CF5CE2}.Debug|x64.ActiveCfg = Debug|x64 + {63823DD0-787C-42AE-B6E7-C03CF4CF5CE2}.Debug|x64.Build.0 = Debug|x64 + {63823DD0-787C-42AE-B6E7-C03CF4CF5CE2}.Release|x64.ActiveCfg = Release|x64 + {63823DD0-787C-42AE-B6E7-C03CF4CF5CE2}.Release|x64.Build.0 = Release|x64 + {688433E2-B189-431D-A5F8-9AC82102B58C}.Debug|x64.ActiveCfg = Debug|x64 + {688433E2-B189-431D-A5F8-9AC82102B58C}.Debug|x64.Build.0 = Debug|x64 + {688433E2-B189-431D-A5F8-9AC82102B58C}.Release|x64.ActiveCfg = Release|x64 + {688433E2-B189-431D-A5F8-9AC82102B58C}.Release|x64.Build.0 = Release|x64 + {F7DD9451-B0CA-4C76-AB92-0E01CBEBDBBE}.Debug|x64.ActiveCfg = Debug|x64 + {F7DD9451-B0CA-4C76-AB92-0E01CBEBDBBE}.Debug|x64.Build.0 = Debug|x64 + {F7DD9451-B0CA-4C76-AB92-0E01CBEBDBBE}.Release|x64.ActiveCfg = Release|x64 + {F7DD9451-B0CA-4C76-AB92-0E01CBEBDBBE}.Release|x64.Build.0 = Release|x64 + {628390E3-DB62-4D52-9594-DE6BC15F9943}.Debug|x64.ActiveCfg = Debug|x64 + {628390E3-DB62-4D52-9594-DE6BC15F9943}.Debug|x64.Build.0 = Debug|x64 + {628390E3-DB62-4D52-9594-DE6BC15F9943}.Release|x64.ActiveCfg = Release|x64 + {628390E3-DB62-4D52-9594-DE6BC15F9943}.Release|x64.Build.0 = Release|x64 + {5F8A7FEE-3A79-4588-9244-8575748026F7}.Debug|x64.ActiveCfg = Debug|x64 + {5F8A7FEE-3A79-4588-9244-8575748026F7}.Debug|x64.Build.0 = Debug|x64 + {5F8A7FEE-3A79-4588-9244-8575748026F7}.Release|x64.ActiveCfg = Release|x64 + {5F8A7FEE-3A79-4588-9244-8575748026F7}.Release|x64.Build.0 = Release|x64 + {6D3F8F78-225E-490E-ABD3-762857EBF597}.Debug|x64.ActiveCfg = Debug|x64 + {6D3F8F78-225E-490E-ABD3-762857EBF597}.Debug|x64.Build.0 = Debug|x64 + {6D3F8F78-225E-490E-ABD3-762857EBF597}.Release|x64.ActiveCfg = Release|x64 + {6D3F8F78-225E-490E-ABD3-762857EBF597}.Release|x64.Build.0 = Release|x64 + {547B99C2-CBE3-4E1F-A1D6-26E261D67A3E}.Debug|x64.ActiveCfg = Debug|x64 + {547B99C2-CBE3-4E1F-A1D6-26E261D67A3E}.Debug|x64.Build.0 = Debug|x64 + {547B99C2-CBE3-4E1F-A1D6-26E261D67A3E}.Release|x64.ActiveCfg = Release|x64 + {547B99C2-CBE3-4E1F-A1D6-26E261D67A3E}.Release|x64.Build.0 = Release|x64 + {5E0E9AB0-B708-481F-9226-DD92C3798341}.Debug|x64.ActiveCfg = Debug|x64 + {5E0E9AB0-B708-481F-9226-DD92C3798341}.Debug|x64.Build.0 = Debug|x64 + {5E0E9AB0-B708-481F-9226-DD92C3798341}.Release|x64.ActiveCfg = Release|x64 + {5E0E9AB0-B708-481F-9226-DD92C3798341}.Release|x64.Build.0 = Release|x64 + {40E56BFB-1A0C-4618-BB49-A9AA635127C1}.Debug|x64.ActiveCfg = Debug|x64 + {40E56BFB-1A0C-4618-BB49-A9AA635127C1}.Debug|x64.Build.0 = Debug|x64 + {40E56BFB-1A0C-4618-BB49-A9AA635127C1}.Release|x64.ActiveCfg = Release|x64 + {40E56BFB-1A0C-4618-BB49-A9AA635127C1}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {FB6B7014-2BC9-475C-B3CC-FEE6B4C5B103} = {9254BAD9-FDFC-4645-B2C8-EEB42F1F069D} + {481D0AFC-64BC-436C-9FF5-7C07F9F8E4BD} = {052412EF-7CEB-4E32-96F9-AADBC70945D7} + {FD1402C4-336F-4AEF-A5F6-1DD7903A965C} = {481D0AFC-64BC-436C-9FF5-7C07F9F8E4BD} + {8683C739-F470-44A6-A187-9A5929AE9DF9} = {481D0AFC-64BC-436C-9FF5-7C07F9F8E4BD} + {C0405FFB-7AA2-49C2-9AB5-AF336A54B41C} = {481D0AFC-64BC-436C-9FF5-7C07F9F8E4BD} + {8DEA1F0F-8BF3-422C-9BCD-99F69F43D013} = {481D0AFC-64BC-436C-9FF5-7C07F9F8E4BD} + {DCEAB7B6-0784-4186-B79F-5C7C947F9077} = {052412EF-7CEB-4E32-96F9-AADBC70945D7} + {BE670E16-8A40-46E0-9CF2-93352ED685B0} = {DCEAB7B6-0784-4186-B79F-5C7C947F9077} + {EF1E1A7E-2803-4606-BD9A-DA8FA981ABA4} = {DCEAB7B6-0784-4186-B79F-5C7C947F9077} + {631C61AA-52BA-4818-BD39-FA9CF47076C7} = {481D0AFC-64BC-436C-9FF5-7C07F9F8E4BD} + {E1D552CF-3FE3-427A-95E1-8CFFB60BBF8E} = {481D0AFC-64BC-436C-9FF5-7C07F9F8E4BD} + {C2C6E811-57E3-44C5-9AB9-195D60A1638C} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {D6334F08-D560-439A-A704-ADA0349D72B7} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {ACC2A1E7-5865-4FAE-9016-E6EF73F8FA9E} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {6A0FFF7E-9C0A-4BF5-BBA5-745CB4253EFB} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {E5B2FC79-3928-47F6-B57B-33AAA3C5D9C5} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {E03790B7-B203-4504-BEF5-F4F061183642} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A7} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A8} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {7B7D1745-7635-40DA-B6AF-B8F728A31124} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {C370ACB7-AE52-4AD8-8C3D-4C32567FFE7D} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {4E6B2034-D7ED-4CB4-98B2-7B2D2B71E0A9} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {5B822836-110B-44D8-8E02-2A9B2CB83D14} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {16B11B54-CD72-43B6-B226-38C668B41A79} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {5852BE0E-BDA5-4BD9-8A16-30E8E40F4045} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {63823DD0-787C-42AE-B6E7-C03CF4CF5CE2} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {688433E2-B189-431D-A5F8-9AC82102B58C} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {F7DD9451-B0CA-4C76-AB92-0E01CBEBDBBE} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {628390E3-DB62-4D52-9594-DE6BC15F9943} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {5F8A7FEE-3A79-4588-9244-8575748026F7} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {6D3F8F78-225E-490E-ABD3-762857EBF597} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {547B99C2-CBE3-4E1F-A1D6-26E261D67A3E} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {5E0E9AB0-B708-481F-9226-DD92C3798341} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + {40E56BFB-1A0C-4618-BB49-A9AA635127C1} = {6EB7144D-2707-489E-A043-D59B7BE006D1} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {90580497-38BF-428E-A951-6EC6CFC68193} + EndGlobalSection +EndGlobal diff --git a/ROCm-Examples-Portable-VS2022.sln b/ROCm-Examples-Portable-VS2022.sln new file mode 100644 index 000000000..b7dab1a5a --- /dev/null +++ b/ROCm-Examples-Portable-VS2022.sln @@ -0,0 +1,256 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.33027.108 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Applications", "Applications", "{C735FFA9-12E1-4BEF-87B2-8891A3006505}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HIP-Basic", "HIP-Basic", "{94393B51-B70E-4111-A22C-6A752D41E454}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{7676633F-925E-4AEF-9F60-7A715A1EFBFE}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "hipCUB", "hipCUB", "{A6E59BE9-114B-4E93-A9D9-F57CBD6075EC}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "rocThrust", "rocThrust", "{E6977D99-5B5F-4C04-A0E2-E889D9560730}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_ptr_vs2022", "Libraries\rocThrust\device_ptr\device_ptr_vs2022.vcxproj", "{20CF76E8-258C-42FB-B050-2387D60441E9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "saxpy_vs2022", "Libraries\rocThrust\saxpy\saxpy_vs2022.vcxproj", "{4634D5EA-9F81-4B15-8D6A-61A531555DA8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vectors_vs2022", "Libraries\rocThrust\vectors\vectors_vs2022.vcxproj", "{D01D63FC-CA52-4ACA-BE79-F96BA5B8BEF8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remove_points_vs2022", "Libraries\rocThrust\remove_points\remove_points_vs2022.vcxproj", "{3754051F-0225-4667-9982-570E319A19F6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "norm_vs2022", "Libraries\rocThrust\norm\norm_vs2022.vcxproj", "{933121F0-5C1D-44DA-9DB7-260DC8DD0C44}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reduce_sum_vs2022", "Libraries\rocThrust\reduce_sum\reduce_sum_vs2022.vcxproj", "{C1CACA43-1565-4E23-9E3F-3F64CB19D4CE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_sum_vs2022", "Libraries\hipCUB\device_sum\device_sum_vs2022.vcxproj", "{2F0F836D-CAB8-470E-AE1A-D04BFFDB4474}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_radix_sort_vs2022", "Libraries\hipCUB\device_radix_sort\device_radix_sort_vs2022.vcxproj", "{94F30C07-0514-4AB9-B269-196DC0C0F0E0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "floyd_warshall_vs2022", "Applications\floyd_warshall\floyd_warshall_vs2022.vcxproj", "{015DF085-FEB3-4C7A-ACEE-7CFFB3C9AFF0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamic_shared_vs2022", "HIP-Basic\dynamic_shared\dynamic_shared_vs2022.vcxproj", "{A1D6C8E8-9E43-4703-A368-39FEC450548C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vulkan_interop_vs2022", "HIP-Basic\vulkan_interop\vulkan_interop_vs2022.vcxproj", "{73FCEDE4-FD46-43DC-8AE3-784318ACCB39}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runtime_compilation_vs2022", "HIP-Basic\runtime_compilation\runtime_compilation_vs2022.vcxproj", "{F233F9B0-DA39-49B7-A776-0FAC215E6D0C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "warp_shuffle_vs2022", "HIP-Basic\warp_shuffle\warp_shuffle_vs2022.vcxproj", "{6FB434E3-82C7-46FD-B18A-31C280B535A2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "matrix_multiplication_vs2022", "HIP-Basic\matrix_multiplication\matrix_multiplication_vs2022.vcxproj", "{9214477C-B90F-4DDD-A138-455B83A5BAB2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bit_extract_vs2022", "HIP-Basic\bit_extract\bit_extract_vs2022.vcxproj", "{7C53480C-5014-4BD7-8B3E-C45A183FA5DF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_memory_vs2022", "HIP-Basic\shared_memory\shared_memory_vs2022.vcxproj", "{740B1C46-E54E-415F-900E-EB154402427C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "texture_management_vs2022", "HIP-Basic\texture_management\texture_management_vs2022.vcxproj", "{BE0294B1-C162-4877-B7A5-4CA9BB73146B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "saxpy_vs2022", "HIP-Basic\saxpy\saxpy_vs2022.vcxproj", "{4579D781-7CA9-470C-A76C-5903369C40E8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_globals_vs2022", "HIP-Basic\device_globals\device_globals_vs2022.vcxproj", "{3C13D642-960A-4F99-84A9-5559BCE3B347}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "moving_average_vs2022", "HIP-Basic\moving_average\moving_average_vs2022.vcxproj", "{0851BA21-FFDB-4E7A-B798-4DBAADB94B8E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "device_query_vs2022", "HIP-Basic\device_query\device_query_vs2022.vcxproj", "{428C7C0B-C055-4126-A6D2-1E51344E5D40}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inline_assembly_vs2022", "HIP-Basic\inline_assembly\inline_assembly_vs2022.vcxproj", "{8F2ECE57-1E5F-4175-8A7A-8B5F12663D68}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "static_host_library_vs2022", "HIP-Basic\static_host_library\static_host_library_vs2022.vcxproj", "{27A6F412-BAE5-49FF-B557-C86EE98352C9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "static_host_library_msvc_vs2022", "HIP-Basic\static_host_library\static_host_library_msvc\static_host_library_msvc_vs2022.vcxproj", "{78759A7F-2B5C-4FE3-AE66-71DF7A90A500}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multi_gpu_data_transfer_vs2022", "HIP-Basic\multi_gpu_data_transfer\multi_gpu_data_transfer_vs2022.vcxproj", "{6FB2BCB7-BFA5-4342-A04D-B4EBFE570D46}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "occupancy_vs2022", "HIP-Basic\occupancy\occupancy_vs2022.vcxproj", "{E6D8C701-08B7-482B-AF43-1CA6765CA5FB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "streams_vs2022", "HIP-Basic\streams\streams_vs2022.vcxproj", "{3271C75F-A07A-454A-9EF7-F72F79845D77}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpu_arch_vs2022", "HIP-Basic\gpu_arch\gpu_arch_vs2022.vcxproj", "{D5CEB4C2-4867-4A5C-AD3A-E025EF3C7C0E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bandwidth_vs2022", "HIP-Basic\bandwidth\bandwidth_vs2022.vcxproj", "{8B999FEC-741B-4FF7-9835-11077EE3726E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "events_vs2022", "HIP-Basic\events\events_vs2022.vcxproj", "{DF601563-B579-4571-88C9-3EC7312D567F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libhip_static_host_vs2022", "HIP-Basic\static_host_library\library\libhip_static_host_vs2022.vcxproj", "{5FC8C701-B961-4719-A465-FC0FC84D2EEE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello_world_vs2022", "HIP-Basic\hello_world\hello_world_vs2022.vcxproj", "{AA92EF7E-2323-4497-ACCD-B76FB196C545}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {20CF76E8-258C-42FB-B050-2387D60441E9}.Debug|x64.ActiveCfg = Debug|x64 + {20CF76E8-258C-42FB-B050-2387D60441E9}.Debug|x64.Build.0 = Debug|x64 + {20CF76E8-258C-42FB-B050-2387D60441E9}.Release|x64.ActiveCfg = Release|x64 + {20CF76E8-258C-42FB-B050-2387D60441E9}.Release|x64.Build.0 = Release|x64 + {4634D5EA-9F81-4B15-8D6A-61A531555DA8}.Debug|x64.ActiveCfg = Debug|x64 + {4634D5EA-9F81-4B15-8D6A-61A531555DA8}.Debug|x64.Build.0 = Debug|x64 + {4634D5EA-9F81-4B15-8D6A-61A531555DA8}.Release|x64.ActiveCfg = Release|x64 + {4634D5EA-9F81-4B15-8D6A-61A531555DA8}.Release|x64.Build.0 = Release|x64 + {D01D63FC-CA52-4ACA-BE79-F96BA5B8BEF8}.Debug|x64.ActiveCfg = Debug|x64 + {D01D63FC-CA52-4ACA-BE79-F96BA5B8BEF8}.Debug|x64.Build.0 = Debug|x64 + {D01D63FC-CA52-4ACA-BE79-F96BA5B8BEF8}.Release|x64.ActiveCfg = Release|x64 + {D01D63FC-CA52-4ACA-BE79-F96BA5B8BEF8}.Release|x64.Build.0 = Release|x64 + {3754051F-0225-4667-9982-570E319A19F6}.Debug|x64.ActiveCfg = Debug|x64 + {3754051F-0225-4667-9982-570E319A19F6}.Debug|x64.Build.0 = Debug|x64 + {3754051F-0225-4667-9982-570E319A19F6}.Release|x64.ActiveCfg = Release|x64 + {3754051F-0225-4667-9982-570E319A19F6}.Release|x64.Build.0 = Release|x64 + {933121F0-5C1D-44DA-9DB7-260DC8DD0C44}.Debug|x64.ActiveCfg = Debug|x64 + {933121F0-5C1D-44DA-9DB7-260DC8DD0C44}.Debug|x64.Build.0 = Debug|x64 + {933121F0-5C1D-44DA-9DB7-260DC8DD0C44}.Release|x64.ActiveCfg = Release|x64 + {933121F0-5C1D-44DA-9DB7-260DC8DD0C44}.Release|x64.Build.0 = Release|x64 + {C1CACA43-1565-4E23-9E3F-3F64CB19D4CE}.Debug|x64.ActiveCfg = Debug|x64 + {C1CACA43-1565-4E23-9E3F-3F64CB19D4CE}.Debug|x64.Build.0 = Debug|x64 + {C1CACA43-1565-4E23-9E3F-3F64CB19D4CE}.Release|x64.ActiveCfg = Release|x64 + {C1CACA43-1565-4E23-9E3F-3F64CB19D4CE}.Release|x64.Build.0 = Release|x64 + {2F0F836D-CAB8-470E-AE1A-D04BFFDB4474}.Debug|x64.ActiveCfg = Debug|x64 + {2F0F836D-CAB8-470E-AE1A-D04BFFDB4474}.Debug|x64.Build.0 = Debug|x64 + {2F0F836D-CAB8-470E-AE1A-D04BFFDB4474}.Release|x64.ActiveCfg = Release|x64 + {2F0F836D-CAB8-470E-AE1A-D04BFFDB4474}.Release|x64.Build.0 = Release|x64 + {94F30C07-0514-4AB9-B269-196DC0C0F0E0}.Debug|x64.ActiveCfg = Debug|x64 + {94F30C07-0514-4AB9-B269-196DC0C0F0E0}.Debug|x64.Build.0 = Debug|x64 + {94F30C07-0514-4AB9-B269-196DC0C0F0E0}.Release|x64.ActiveCfg = Release|x64 + {94F30C07-0514-4AB9-B269-196DC0C0F0E0}.Release|x64.Build.0 = Release|x64 + {015DF085-FEB3-4C7A-ACEE-7CFFB3C9AFF0}.Debug|x64.ActiveCfg = Debug|x64 + {015DF085-FEB3-4C7A-ACEE-7CFFB3C9AFF0}.Debug|x64.Build.0 = Debug|x64 + {015DF085-FEB3-4C7A-ACEE-7CFFB3C9AFF0}.Release|x64.ActiveCfg = Release|x64 + {015DF085-FEB3-4C7A-ACEE-7CFFB3C9AFF0}.Release|x64.Build.0 = Release|x64 + {A1D6C8E8-9E43-4703-A368-39FEC450548C}.Debug|x64.ActiveCfg = Debug|x64 + {A1D6C8E8-9E43-4703-A368-39FEC450548C}.Debug|x64.Build.0 = Debug|x64 + {A1D6C8E8-9E43-4703-A368-39FEC450548C}.Release|x64.ActiveCfg = Release|x64 + {A1D6C8E8-9E43-4703-A368-39FEC450548C}.Release|x64.Build.0 = Release|x64 + {73FCEDE4-FD46-43DC-8AE3-784318ACCB39}.Debug|x64.ActiveCfg = Debug|x64 + {73FCEDE4-FD46-43DC-8AE3-784318ACCB39}.Debug|x64.Build.0 = Debug|x64 + {73FCEDE4-FD46-43DC-8AE3-784318ACCB39}.Release|x64.ActiveCfg = Release|x64 + {73FCEDE4-FD46-43DC-8AE3-784318ACCB39}.Release|x64.Build.0 = Release|x64 + {F233F9B0-DA39-49B7-A776-0FAC215E6D0C}.Debug|x64.ActiveCfg = Debug|x64 + {F233F9B0-DA39-49B7-A776-0FAC215E6D0C}.Debug|x64.Build.0 = Debug|x64 + {F233F9B0-DA39-49B7-A776-0FAC215E6D0C}.Release|x64.ActiveCfg = Release|x64 + {F233F9B0-DA39-49B7-A776-0FAC215E6D0C}.Release|x64.Build.0 = Release|x64 + {6FB434E3-82C7-46FD-B18A-31C280B535A2}.Debug|x64.ActiveCfg = Debug|x64 + {6FB434E3-82C7-46FD-B18A-31C280B535A2}.Debug|x64.Build.0 = Debug|x64 + {6FB434E3-82C7-46FD-B18A-31C280B535A2}.Release|x64.ActiveCfg = Release|x64 + {6FB434E3-82C7-46FD-B18A-31C280B535A2}.Release|x64.Build.0 = Release|x64 + {9214477C-B90F-4DDD-A138-455B83A5BAB2}.Debug|x64.ActiveCfg = Debug|x64 + {9214477C-B90F-4DDD-A138-455B83A5BAB2}.Debug|x64.Build.0 = Debug|x64 + {9214477C-B90F-4DDD-A138-455B83A5BAB2}.Release|x64.ActiveCfg = Release|x64 + {9214477C-B90F-4DDD-A138-455B83A5BAB2}.Release|x64.Build.0 = Release|x64 + {7C53480C-5014-4BD7-8B3E-C45A183FA5DF}.Debug|x64.ActiveCfg = Debug|x64 + {7C53480C-5014-4BD7-8B3E-C45A183FA5DF}.Debug|x64.Build.0 = Debug|x64 + {7C53480C-5014-4BD7-8B3E-C45A183FA5DF}.Release|x64.ActiveCfg = Release|x64 + {7C53480C-5014-4BD7-8B3E-C45A183FA5DF}.Release|x64.Build.0 = Release|x64 + {740B1C46-E54E-415F-900E-EB154402427C}.Debug|x64.ActiveCfg = Debug|x64 + {740B1C46-E54E-415F-900E-EB154402427C}.Debug|x64.Build.0 = Debug|x64 + {740B1C46-E54E-415F-900E-EB154402427C}.Release|x64.ActiveCfg = Release|x64 + {740B1C46-E54E-415F-900E-EB154402427C}.Release|x64.Build.0 = Release|x64 + {BE0294B1-C162-4877-B7A5-4CA9BB73146B}.Debug|x64.ActiveCfg = Debug|x64 + {BE0294B1-C162-4877-B7A5-4CA9BB73146B}.Debug|x64.Build.0 = Debug|x64 + {BE0294B1-C162-4877-B7A5-4CA9BB73146B}.Release|x64.ActiveCfg = Release|x64 + {BE0294B1-C162-4877-B7A5-4CA9BB73146B}.Release|x64.Build.0 = Release|x64 + {4579D781-7CA9-470C-A76C-5903369C40E8}.Debug|x64.ActiveCfg = Debug|x64 + {4579D781-7CA9-470C-A76C-5903369C40E8}.Debug|x64.Build.0 = Debug|x64 + {4579D781-7CA9-470C-A76C-5903369C40E8}.Release|x64.ActiveCfg = Release|x64 + {4579D781-7CA9-470C-A76C-5903369C40E8}.Release|x64.Build.0 = Release|x64 + {3C13D642-960A-4F99-84A9-5559BCE3B347}.Debug|x64.ActiveCfg = Debug|x64 + {3C13D642-960A-4F99-84A9-5559BCE3B347}.Debug|x64.Build.0 = Debug|x64 + {3C13D642-960A-4F99-84A9-5559BCE3B347}.Release|x64.ActiveCfg = Release|x64 + {3C13D642-960A-4F99-84A9-5559BCE3B347}.Release|x64.Build.0 = Release|x64 + {0851BA21-FFDB-4E7A-B798-4DBAADB94B8E}.Debug|x64.ActiveCfg = Debug|x64 + {0851BA21-FFDB-4E7A-B798-4DBAADB94B8E}.Debug|x64.Build.0 = Debug|x64 + {0851BA21-FFDB-4E7A-B798-4DBAADB94B8E}.Release|x64.ActiveCfg = Release|x64 + {0851BA21-FFDB-4E7A-B798-4DBAADB94B8E}.Release|x64.Build.0 = Release|x64 + {428C7C0B-C055-4126-A6D2-1E51344E5D40}.Debug|x64.ActiveCfg = Debug|x64 + {428C7C0B-C055-4126-A6D2-1E51344E5D40}.Debug|x64.Build.0 = Debug|x64 + {428C7C0B-C055-4126-A6D2-1E51344E5D40}.Release|x64.ActiveCfg = Release|x64 + {428C7C0B-C055-4126-A6D2-1E51344E5D40}.Release|x64.Build.0 = Release|x64 + {8F2ECE57-1E5F-4175-8A7A-8B5F12663D68}.Debug|x64.ActiveCfg = Debug|x64 + {8F2ECE57-1E5F-4175-8A7A-8B5F12663D68}.Debug|x64.Build.0 = Debug|x64 + {8F2ECE57-1E5F-4175-8A7A-8B5F12663D68}.Release|x64.ActiveCfg = Release|x64 + {8F2ECE57-1E5F-4175-8A7A-8B5F12663D68}.Release|x64.Build.0 = Release|x64 + {27A6F412-BAE5-49FF-B557-C86EE98352C9}.Debug|x64.ActiveCfg = Debug|x64 + {27A6F412-BAE5-49FF-B557-C86EE98352C9}.Debug|x64.Build.0 = Debug|x64 + {27A6F412-BAE5-49FF-B557-C86EE98352C9}.Release|x64.ActiveCfg = Release|x64 + {27A6F412-BAE5-49FF-B557-C86EE98352C9}.Release|x64.Build.0 = Release|x64 + {78759A7F-2B5C-4FE3-AE66-71DF7A90A500}.Debug|x64.ActiveCfg = Debug|x64 + {78759A7F-2B5C-4FE3-AE66-71DF7A90A500}.Debug|x64.Build.0 = Debug|x64 + {78759A7F-2B5C-4FE3-AE66-71DF7A90A500}.Release|x64.ActiveCfg = Release|x64 + {78759A7F-2B5C-4FE3-AE66-71DF7A90A500}.Release|x64.Build.0 = Release|x64 + {6FB2BCB7-BFA5-4342-A04D-B4EBFE570D46}.Debug|x64.ActiveCfg = Debug|x64 + {6FB2BCB7-BFA5-4342-A04D-B4EBFE570D46}.Debug|x64.Build.0 = Debug|x64 + {6FB2BCB7-BFA5-4342-A04D-B4EBFE570D46}.Release|x64.ActiveCfg = Release|x64 + {6FB2BCB7-BFA5-4342-A04D-B4EBFE570D46}.Release|x64.Build.0 = Release|x64 + {E6D8C701-08B7-482B-AF43-1CA6765CA5FB}.Debug|x64.ActiveCfg = Debug|x64 + {E6D8C701-08B7-482B-AF43-1CA6765CA5FB}.Debug|x64.Build.0 = Debug|x64 + {E6D8C701-08B7-482B-AF43-1CA6765CA5FB}.Release|x64.ActiveCfg = Release|x64 + {E6D8C701-08B7-482B-AF43-1CA6765CA5FB}.Release|x64.Build.0 = Release|x64 + {3271C75F-A07A-454A-9EF7-F72F79845D77}.Debug|x64.ActiveCfg = Debug|x64 + {3271C75F-A07A-454A-9EF7-F72F79845D77}.Debug|x64.Build.0 = Debug|x64 + {3271C75F-A07A-454A-9EF7-F72F79845D77}.Release|x64.ActiveCfg = Release|x64 + {3271C75F-A07A-454A-9EF7-F72F79845D77}.Release|x64.Build.0 = Release|x64 + {D5CEB4C2-4867-4A5C-AD3A-E025EF3C7C0E}.Debug|x64.ActiveCfg = Debug|x64 + {D5CEB4C2-4867-4A5C-AD3A-E025EF3C7C0E}.Debug|x64.Build.0 = Debug|x64 + {D5CEB4C2-4867-4A5C-AD3A-E025EF3C7C0E}.Release|x64.ActiveCfg = Release|x64 + {D5CEB4C2-4867-4A5C-AD3A-E025EF3C7C0E}.Release|x64.Build.0 = Release|x64 + {8B999FEC-741B-4FF7-9835-11077EE3726E}.Debug|x64.ActiveCfg = Debug|x64 + {8B999FEC-741B-4FF7-9835-11077EE3726E}.Debug|x64.Build.0 = Debug|x64 + {8B999FEC-741B-4FF7-9835-11077EE3726E}.Release|x64.ActiveCfg = Release|x64 + {8B999FEC-741B-4FF7-9835-11077EE3726E}.Release|x64.Build.0 = Release|x64 + {DF601563-B579-4571-88C9-3EC7312D567F}.Debug|x64.ActiveCfg = Debug|x64 + {DF601563-B579-4571-88C9-3EC7312D567F}.Debug|x64.Build.0 = Debug|x64 + {DF601563-B579-4571-88C9-3EC7312D567F}.Release|x64.ActiveCfg = Release|x64 + {DF601563-B579-4571-88C9-3EC7312D567F}.Release|x64.Build.0 = Release|x64 + {5FC8C701-B961-4719-A465-FC0FC84D2EEE}.Debug|x64.ActiveCfg = Debug|x64 + {5FC8C701-B961-4719-A465-FC0FC84D2EEE}.Debug|x64.Build.0 = Debug|x64 + {5FC8C701-B961-4719-A465-FC0FC84D2EEE}.Release|x64.ActiveCfg = Release|x64 + {5FC8C701-B961-4719-A465-FC0FC84D2EEE}.Release|x64.Build.0 = Release|x64 + {AA92EF7E-2323-4497-ACCD-B76FB196C545}.Debug|x64.ActiveCfg = Debug|x64 + {AA92EF7E-2323-4497-ACCD-B76FB196C545}.Debug|x64.Build.0 = Debug|x64 + {AA92EF7E-2323-4497-ACCD-B76FB196C545}.Release|x64.ActiveCfg = Release|x64 + {AA92EF7E-2323-4497-ACCD-B76FB196C545}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {A6E59BE9-114B-4E93-A9D9-F57CBD6075EC} = {7676633F-925E-4AEF-9F60-7A715A1EFBFE} + {E6977D99-5B5F-4C04-A0E2-E889D9560730} = {7676633F-925E-4AEF-9F60-7A715A1EFBFE} + {20CF76E8-258C-42FB-B050-2387D60441E9} = {E6977D99-5B5F-4C04-A0E2-E889D9560730} + {4634D5EA-9F81-4B15-8D6A-61A531555DA8} = {E6977D99-5B5F-4C04-A0E2-E889D9560730} + {D01D63FC-CA52-4ACA-BE79-F96BA5B8BEF8} = {E6977D99-5B5F-4C04-A0E2-E889D9560730} + {3754051F-0225-4667-9982-570E319A19F6} = {E6977D99-5B5F-4C04-A0E2-E889D9560730} + {933121F0-5C1D-44DA-9DB7-260DC8DD0C44} = {E6977D99-5B5F-4C04-A0E2-E889D9560730} + {C1CACA43-1565-4E23-9E3F-3F64CB19D4CE} = {E6977D99-5B5F-4C04-A0E2-E889D9560730} + {2F0F836D-CAB8-470E-AE1A-D04BFFDB4474} = {A6E59BE9-114B-4E93-A9D9-F57CBD6075EC} + {94F30C07-0514-4AB9-B269-196DC0C0F0E0} = {A6E59BE9-114B-4E93-A9D9-F57CBD6075EC} + {015DF085-FEB3-4C7A-ACEE-7CFFB3C9AFF0} = {C735FFA9-12E1-4BEF-87B2-8891A3006505} + {A1D6C8E8-9E43-4703-A368-39FEC450548C} = {94393B51-B70E-4111-A22C-6A752D41E454} + {73FCEDE4-FD46-43DC-8AE3-784318ACCB39} = {94393B51-B70E-4111-A22C-6A752D41E454} + {F233F9B0-DA39-49B7-A776-0FAC215E6D0C} = {94393B51-B70E-4111-A22C-6A752D41E454} + {6FB434E3-82C7-46FD-B18A-31C280B535A2} = {94393B51-B70E-4111-A22C-6A752D41E454} + {9214477C-B90F-4DDD-A138-455B83A5BAB2} = {94393B51-B70E-4111-A22C-6A752D41E454} + {7C53480C-5014-4BD7-8B3E-C45A183FA5DF} = {94393B51-B70E-4111-A22C-6A752D41E454} + {740B1C46-E54E-415F-900E-EB154402427C} = {94393B51-B70E-4111-A22C-6A752D41E454} + {BE0294B1-C162-4877-B7A5-4CA9BB73146B} = {94393B51-B70E-4111-A22C-6A752D41E454} + {4579D781-7CA9-470C-A76C-5903369C40E8} = {94393B51-B70E-4111-A22C-6A752D41E454} + {3C13D642-960A-4F99-84A9-5559BCE3B347} = {94393B51-B70E-4111-A22C-6A752D41E454} + {0851BA21-FFDB-4E7A-B798-4DBAADB94B8E} = {94393B51-B70E-4111-A22C-6A752D41E454} + {428C7C0B-C055-4126-A6D2-1E51344E5D40} = {94393B51-B70E-4111-A22C-6A752D41E454} + {8F2ECE57-1E5F-4175-8A7A-8B5F12663D68} = {94393B51-B70E-4111-A22C-6A752D41E454} + {27A6F412-BAE5-49FF-B557-C86EE98352C9} = {94393B51-B70E-4111-A22C-6A752D41E454} + {78759A7F-2B5C-4FE3-AE66-71DF7A90A500} = {94393B51-B70E-4111-A22C-6A752D41E454} + {6FB2BCB7-BFA5-4342-A04D-B4EBFE570D46} = {94393B51-B70E-4111-A22C-6A752D41E454} + {E6D8C701-08B7-482B-AF43-1CA6765CA5FB} = {94393B51-B70E-4111-A22C-6A752D41E454} + {3271C75F-A07A-454A-9EF7-F72F79845D77} = {94393B51-B70E-4111-A22C-6A752D41E454} + {D5CEB4C2-4867-4A5C-AD3A-E025EF3C7C0E} = {94393B51-B70E-4111-A22C-6A752D41E454} + {8B999FEC-741B-4FF7-9835-11077EE3726E} = {94393B51-B70E-4111-A22C-6A752D41E454} + {DF601563-B579-4571-88C9-3EC7312D567F} = {94393B51-B70E-4111-A22C-6A752D41E454} + {5FC8C701-B961-4719-A465-FC0FC84D2EEE} = {94393B51-B70E-4111-A22C-6A752D41E454} + {AA92EF7E-2323-4497-ACCD-B76FB196C545} = {94393B51-B70E-4111-A22C-6A752D41E454} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D648FD37-D8CB-4EA5-8445-38BEF36F6736} + EndGlobalSection +EndGlobal