From 428d4842aea70f79ff1c8d73ad901960571e67cc Mon Sep 17 00:00:00 2001 From: agodavar Date: Wed, 4 Mar 2020 20:23:06 +0530 Subject: [PATCH] Enable tests hipTestDeviceSymbol,hipTestConstant and p2p_copy_coherency on hip-vdi SWDEV-225266: [HIP-VDI] HIP-VDI disabled tests (p2p_copy_coherency.cpp) SWDEV-225388: hipTestDeviceSymbol.cpp & hipTestConstant.cpp failed to build on hip-vdi For hipTestDeviceSymbol.cpp & hipTestConstant.cpp tests: Currently "__HIP_VDI__" flag is enabled in CMakeLists.txt, but when application is compiled with hipcc, __HIP_VDI__ is not defined to differentiate if compiled for VDI/HCC for headers. For ./src/runtimeApi/memory/p2p_copy_coherency.cpp: Fixed compilation issue to include only when compile for HCC runtime " not found" Currently test is disabled to run on all platforms. When validated on multi-GPU machine, memcpy between multiple GPUs via GPU synchronization is not working on hcc and vdi path. Need to validate on nvidia machine to know if test is valid. Disabled GPU synchronization test for now. For ./src/runtimeApi/module/hipModuleTexture2dDrv.cpp: updated test to generate tex2d_kernel.code object in build directory. Currently ctest looks for it in build directory. Change-Id: I629d395a919c2440d921422716944c7940ed6010 [ROCm/hip commit: 3479847d16eba2dd0bc9dd654eb881a8b0adac6b] --- projects/hip/bin/hipcc | 4 ++-- .../tests/src/deviceLib/hipTestDeviceSymbol.cpp | 2 +- projects/hip/tests/src/kernel/hipTestConstant.cpp | 2 +- .../src/runtimeApi/memory/p2p_copy_coherency.cpp | 14 ++++++++------ .../tests/src/runtimeApi/module/tex2d_kernel.cpp | 2 +- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/projects/hip/bin/hipcc b/projects/hip/bin/hipcc index 662bdd730e..7eacc8f6b6 100755 --- a/projects/hip/bin/hipcc +++ b/projects/hip/bin/hipcc @@ -221,8 +221,8 @@ if ($HIP_PLATFORM eq "clang") { $HSA_PATH=$ENV{'HSA_PATH'} // "$ROCM_PATH/hsa"; $HIPCXXFLAGS .= " -isystem $HSA_PATH/include"; - if (! $HIP_RUNTIME eq "HCC" ) { - $HIPCXXFLAGS .= " -fhip-new-launch-api"; + if (!($HIP_RUNTIME eq "HCC")) { + $HIPCXXFLAGS .= " -D__HIP_VDI__ -fhip-new-launch-api"; } } elsif ($HIP_PLATFORM eq "hcc") { diff --git a/projects/hip/tests/src/deviceLib/hipTestDeviceSymbol.cpp b/projects/hip/tests/src/deviceLib/hipTestDeviceSymbol.cpp index 56b2d9c8e1..4c2dd279ea 100644 --- a/projects/hip/tests/src/deviceLib/hipTestDeviceSymbol.cpp +++ b/projects/hip/tests/src/deviceLib/hipTestDeviceSymbol.cpp @@ -18,7 +18,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s EXCLUDE_HIP_PLATFORM vdi + * BUILD: %t %s * TEST: %t * HIT_END */ diff --git a/projects/hip/tests/src/kernel/hipTestConstant.cpp b/projects/hip/tests/src/kernel/hipTestConstant.cpp index 5dda5d5b0a..575e28966f 100644 --- a/projects/hip/tests/src/kernel/hipTestConstant.cpp +++ b/projects/hip/tests/src/kernel/hipTestConstant.cpp @@ -18,7 +18,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s ../test_common.cpp EXCLUDE_HIP_PLATFORM vdi + * BUILD: %t %s ../test_common.cpp * TEST: %t * HIT_END */ diff --git a/projects/hip/tests/src/runtimeApi/memory/p2p_copy_coherency.cpp b/projects/hip/tests/src/runtimeApi/memory/p2p_copy_coherency.cpp index d02053d247..f459a9d100 100644 --- a/projects/hip/tests/src/runtimeApi/memory/p2p_copy_coherency.cpp +++ b/projects/hip/tests/src/runtimeApi/memory/p2p_copy_coherency.cpp @@ -23,7 +23,7 @@ THE SOFTWARE. // Also serves as a template for other tests. /* HIT_START - * BUILD: %t %s ../../test_common.cpp NVCC_OPTIONS --std=c++11 EXCLUDE_HIP_PLATFORM vdi + * BUILD: %t %s ../../test_common.cpp NVCC_OPTIONS --std=c++11 * TEST: %t EXCLUDE_HIP_PLATFORM all * HIT_END @@ -32,12 +32,13 @@ THE SOFTWARE. #include "hip/hip_runtime.h" #include "test_common.h" -#ifdef __HIP_PLATFORM_HCC__ -#include -#endif - #define USE_HCC_MEMTRACKER 0 /* Debug flag to show the memtracker periodically */ +#ifndef __HIP_VDI__ +#include +#else +#define USE_HCC_MEMTRACKER 0 +#endif int elementSizes[] = {1, 16, 1024, 524288, 16 * 1000 * 1000}; int nSizes = sizeof(elementSizes) / sizeof(int); @@ -202,7 +203,8 @@ int main(int argc, char* argv[]) { }; for (int index = 0; index < nSizes; index++) { - testMultiGpu(dev0, dev1, elementSizes[index], false /*GPU Synchronization*/); + //ToDo: Enable when verified on all platforms + //testMultiGpu(dev0, dev1, elementSizes[index], false /*GPU Synchronization*/); testMultiGpu(dev0, dev1, elementSizes[index], true /*Host Synchronization*/); } diff --git a/projects/hip/tests/src/runtimeApi/module/tex2d_kernel.cpp b/projects/hip/tests/src/runtimeApi/module/tex2d_kernel.cpp index 9a22ed25ed..be121f3e69 100644 --- a/projects/hip/tests/src/runtimeApi/module/tex2d_kernel.cpp +++ b/projects/hip/tests/src/runtimeApi/module/tex2d_kernel.cpp @@ -21,7 +21,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD_CMD: tex2d_kernel.code %hc --genco %S/tex2d_kernel.cpp -o directed_tests/runtimeApi/module/tex2d_kernel.code + * BUILD_CMD: tex2d_kernel.code %hc --genco %S/tex2d_kernel.cpp -o tex2d_kernel.code * HIT_END */