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