Graf Tiomantas

1476 Tiomáintí

Údar SHA1 Teachtaireacht Dáta
satyanveshd af351d7e1b Fix occupany APIs (#1560)
Addresses SWDEV-205006
2019-10-24 17:44:47 +05:30
amd-lthakur 8b496e4715 Adding a directed test case for hipExtModuleLaunchKernel() api. 2019-10-24 15:06:28 +05:30
Rahul Garg fe5f7d4245 Merge pull request #1559 from vsytch/win10_aligned_alloc
Fixes for hipMemcpy_simple on Windows
2019-10-23 13:10:59 -07:00
Evgeny Mankov b6e6f12b54 [HIPIFY] Disable delayed template parsing
By implicit unconditional passing -fno-delayed-template-parsing option (which appeared in LLVM 3.8.0, thus doesn't need compatibility wrapping) to hipify-clang.

[Reason] To parse uncalled template functions otherwise they are not parsed without calling, thus not hipified.

Affects cub_03.cu test, which has uncalled global template function.
2019-10-22 19:07:37 +03:00
Evgeny Mankov 6f88c81a78 [HIPIFY][#1569] Fix 2019-10-22 11:08:37 +03:00
Evgeny Mankov 39e7d213cf [HIPIFY][tests] Set max clang's CudaArch for corresponding CUDA major.minor version
[Reason] To support maximum CUDA features in offline tests

+ Add defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 600 restriction for atomicAdd on doubles in atomics.cu.
  So if LLVM < 7 and --cuda-gpu-arch doesn't work, __CUDA_ARCH__ is unset too (350 by default in clang);
  if LLVM >= 7 --cuda-gpu-arch is used and __CUDA_ARCH__ is set based on it.
2019-10-21 17:50:00 +03:00
Evgeny Mankov 14b4df126c [HIPIFY][tests] Set max clang's CudaArch for corresponding CUDA version
[Reason] To support maximum CUDA features in offline tests

+ Add CUDA_VERSION >= 800 restriction for atomics.cu

[TODO] Find a way to use or exclude atomicAdd for doubles if LLVM < 7, because
LLVM 6.0.1 and older do not use --cuda-gpu-arch in clang's Driver code at all (option is only declared)
2019-10-21 15:51:25 +03:00
Evgeny Mankov 6cfea9b600 [HIPIFY][tests] Set -I for CUDA path instead of --cuda-path for LLVM < 4 2019-10-20 20:08:56 +03:00
Evgeny Mankov ccb075b1db [HIPIFY][tests] Exclude all CUB tests if CUDA_CUB_ROOT_DIR is not set 2019-10-20 20:03:18 +03:00
Vladislav Sytchenko 664b115c44 Remove extra #endif. 2019-10-18 16:40:29 -04:00
Evgeny Mankov 82adc93e69 [HIPIFY][tests] Test clean-up 2019-10-18 18:55:52 +03:00
Evgeny Mankov 98874c0e7f [HIPIFY][CUB][#1460] Add "using namespace cub" translation support
+ Add cub_03.cu
2019-10-18 18:51:40 +03:00
Vladislav Sytchenko 8f0a226660 _aligned_malloc() on Windows first takes size, then alignment, which is the opposite of how the similar function behaves on Linux. Memory allocated by it also has to be freed using _aligned_free(), unlike Linux where we can use regular free().
Edit aligned_alloc() macro and add a aligned_free() one to align with the above behaviour.
2019-10-17 18:58:32 -04:00
Rahul Garg e1aac060da Merge pull request #1544 from vsytch/master
QoL changes to the hipMemset family
2019-10-16 18:54:20 -07:00
Evgeny Mankov edfd05a86d [HIPIFY][CUB][#1460] Add cub:: namespace support in TemplateInstantiation of cudaLaunchKernel
+ Update cub_02.cu test accordingly
2019-10-16 19:02:13 +03:00
Vladislav Sytchenko c747b77ac1 hipMemset2D and hipMemset3D tests should be passing by default. 2019-10-16 11:02:38 -04:00
Evgeny Mankov 6960574850 [HIPIFY][CUB][#1460] Implement cubFunctionTemplateDecl matcher
+ Add cub_02.cu test
+ Partial fixes #1460
2019-10-16 13:08:11 +03:00
vsytch 2fb734ef5f Update hipMathFunctions, hipTestHalf and hipTestNativeHalf tests to support Navi10 and Navi14. (#1545) 2019-10-16 10:51:48 +05:30
Vladislav Sytchenko f5af263aba In the hipMemset2D and hipMemset3D tests synchronize with the default stream after performing an async memset. 2019-10-15 17:15:49 -04:00
Vladislav Sytchenko 346bfa90d6 Update indentation in the hipMemset3D test. Replace all tabs with four spaces. 2019-10-15 15:29:14 -04:00
Vladislav Sytchenko 00425bdf3d Add async subtest to hipMemSet3D 2019-10-15 14:24:04 -04:00
Vladislav Sytchenko 3db2ecc52b hipMemset2D test should pass only if both async and sync subtests pass. 2019-10-15 14:20:14 -04:00
Evgeny Mankov 3444834e3a [HIPIFY][tests] Exclude tests for the libs, which are not defined in cmake command line
+ affects cuDNN and CUB tests, paths to libraries of which are defined by CUDA_DNN_ROOT_DIR and CUDA_CUB_ROOT_DIR
+ Warn about excluding and why, for instance:
  "WARN: cuDNN tests are excluded due to unset CUDA_DNN_ROOT_DIR"
2019-10-15 14:20:23 +03:00
Anusha Godavarthy Surya d5b1e887e9 Added unbind texture to samples and tests 2019-10-15 11:34:15 +05:30
Evgeny Mankov 92fb5a3a94 [HIPIFY][CUB] Add missing unit test 2019-10-14 12:03:20 +03:00
Evgeny Mankov 277d3b8369 [HIPIFY][CUB] Initial support (hipify-clang only)
+ Add one matcher (will be more)
+ Update Maps and Statistics
+ Add cub_01.cu unit test
+ Update lit harness to support standalone CUB
+ Update README.md
+ Update hipify-perl (only CUB header is supported for now)

[IMPORTANT]
clang (and hipify-clang) works correctly only with official NVLabs version on GitHub.
Compilation of CUB from official CUDA release has conflicts with THRUST.
Thus, to compile CUB sources, option "-I" should be specified to the cloned CUB from NVLAB on GitHub.
2019-10-14 11:55:55 +03:00
Jatin Chaudhary 32eb6d3bec Re enable test RTC (#1516)
Adding target resolution in hiprtc tests and reenable them.
2019-10-10 19:59:55 +05:30
ansurya 87834500b9 Fix for directed tests failure (#1511)
directed_tests/runtimeApi/module/hipLaunchCooperativeKernel.tst - Disabling test temporarily until driver support is available.
directed_tests/runtimeApi/memory/hipArray.tst - Disabling test temporarily to reimplement it correctly.
2019-10-10 19:58:41 +05:30
Evgeny Mankov 88cb3504ff [HIPIFY][test] Update allocators.cu test 2019-10-10 17:20:41 +03:00
Anusha Godavarthy Surya af5f195e46 Fix undefine ref to hipUbindTexture for texture types 2019-10-09 16:26:06 +05:30
Evgeny Mankov 3286ffdfc0 [HIPIFY][#1487][fix] Translate correctly kernel names prefixed with namespace
+ Modify CUDA2HIP_perl for the fix
+ Add ns_kernel_launch.cu test
+ Update hipify-perl by hipify-clang -perl
2019-10-08 15:58:48 +03:00
ansurya ba9c6e13e4 Added new Memory API's (#1399)
Added new memory API's hipMemAllocPitch, hipMemAllocHost, hipMemsetD16, hipMemsetD16Async, hipMemsetD8Async
Modified to support all scenarios hipMemcpyParam2DAsync, hipMemcpyParam2D.
2019-10-04 13:36:31 +05:30
Evgeny Mankov 6bb9913e8a [HIPIFY] Return to wrapping with HIP_KERNEL_NAME(...) macro of a template instantiation kernel launch
[REASON]

1. hip-clang is fine with the templated kernel launch, brackets are unneeded: HIP_KERNEL_NAME(...) __VA_ARGS__
2. HCC is not, thus: HIP_KERNEL_NAME(...) (__VA_ARGS__)

[TODO] Clean-up entirely kernel name wrapping when HCC is finally obsolete.

+ Update perl generation, hipify-perl, and affected tests accordingly.
2019-10-02 16:01:07 +03:00
Evgeny Mankov 108992428d Merge pull request #1492 from emankov/master
[HIPIFY][#1490][fix] Populate the list of supported device atomic functions
2019-10-01 14:00:07 +03:00
Evgeny Mankov b5f17e8ff0 [HIPIFY][#1490][fix] Populate the list of supported device atomic functions
+ Update hipify-perl accordingly
+ Add atomics.cu test on all atomics
2019-10-01 13:57:46 +03:00
Sarbojit2019 cde5119c9e [dtests] Separated C macros from CPP header file (#1429)
* Separated C macros from CPP header file

* Updated review comment
2019-10-01 12:38:32 +05:30
Yaxun (Sam) Liu 56193a7828 Fix cast of __half for HIP-clang (#1475) 2019-09-30 10:40:42 +05:30
AlexBinXie b3e6ba50c3 [hip] Added gfx803,gfx1010,gfx1012 kernel binary hipModule test. (#1444)
This is to address hipModule test seg fault in GFX1010
2019-09-30 10:38:37 +05:30
Evgeny Mankov 9d1d4b78e3 [HIPIFY][#1439] Add reinterpret_cast to args of some functions
+ Perl part of [#1458]
+ Affected functions: hipFuncSetCacheConfig, hipFuncGetAttributes
+ Implement function generateHostFunctions() in hipify-clang for that purposes
+ Update hipify-perl accordingly
2019-09-25 18:53:17 +03:00
Evgeny Mankov dd6a92afb7 [HIPIFY][#1439] Add reinterpret_cast to args of some functions
+ Affected functions: hipFuncSetCacheConfig, hipFuncGetAttributes
+ Add a corresponding Matcher cudaReinterpretCastArgFuncCall
+ Add reinterpret_cast.cu test

TODO: Do the same for hipify-perl
2019-09-24 09:44:17 +03:00
Evgeny Mankov 3722d5b4b9 [HIPIFY][#1435] Add HIP_SYMBOL wrapper to the templated Device Symbol argument of the following functions:
cudaMemcpyToSymbol, cudaMemcpyToSymbolAsync, cudaGetSymbolSize, cudaGetSymbolAddress, cudaMemcpyFromSymbol, cudaMemcpyFromSymbolAsync

+ Add a corresponding cudaSymbolFuncCall matcher.
+ Add device_symbols.cu test for the above 6 functions, update existed.
+ Fix dim3() type cast issue, update affected tests.

TODO: Do the same in hipify-perl
2019-09-19 19:33:42 +03:00
Evgeny Mankov 4f59ec25fe [HIPIFY][perl][fix] Treat ::device_function as a device function
+ Do not treat somenamespace::device_function_name as a device function
+ Fix generation of warnUnsupportedDeviceFunctions function in hipify-clang
+ Update hipify-perl based on hipify-clang -perl generation
+ Update device test math_functions.cu for hipify-perl

[Restrictions]
- hipify-perl is yet unable to handle function declarations in user namespaces
- hipify-perl is yet unable to handle using directive
2019-09-16 17:36:55 +03:00
AlexBinXie 5ed1f3e2c8 [hip]Skip test when hipHostMallocCoherent is not supported by implementation (#1380) 2019-09-16 08:31:43 +00:00
ansurya ceb734b917 Added new device attributes (#1377)
* Added new device attributes

* updated comment

* updated with new device attributes supported
2019-09-16 08:31:30 +00:00
Aryan Salmanpour 48880a017e [hip][tests] add a unit test for testing hipLaunchCooperativeKernel (#1361)
* [hip][tests] add a unit test for testing hipLaunchCooperativeKernel

* use __ockl_grid_sync function

* remove already defined __ockl_grid_sync function

* use sync function for grid synchronization
2019-09-16 08:31:09 +00:00
Evgeny Mankov 56ab105e9d [HIPIFY][#1400] Fix Template Instantiation kernel launch (clang & perl)
+ Enclose template instantiation kernel calls into round brackets, leave regular kernel names unchanged (hipify-perl doesn't handle cases with macros).
+ Fix corresponding tests.

PS. hipify-perl couldn't handle correctly the following cases due to macros expansion disability, thus hipify-clang should be used instead:

#define KERNEL_NAME_MACRO axpy<float>
#define KERNEL_CALL_MACRO axpy<float><<<1, 2>>>
#define KERNEL_ARG_LIST_MACRO a, x, y

// CUDA:
KERNEL_NAME_MACRO<<<1, 2>>>(KERNEL_ARG_LIST_MACRO);
KERNEL_CALL_MACRO(KERNEL_ARG_LIST_MACRO);

// hipify-perl:
hipLaunchKernelGGL(KERNEL_NAME_MACRO, dim3(1), dim3(2), 0, 0, KERNEL_ARG_LIST_MACRO);
KERNEL_CALL_MACRO(KERNEL_ARG_LIST_MACRO);

// hipify-clang:
hipLaunchKernelGGL((KERNEL_NAME_MACRO), dim3(1), dim3(2), 0, 0, KERNEL_ARG_LIST_MACRO);
hipLaunchKernelGGL((axpy<float>), dim3(1), dim3(2), 0, 0, KERNEL_ARG_LIST_MACRO);
2019-09-10 15:59:06 +03:00
Evgeny Mankov 6602fadc16 [HIPIFY] Add device functions support
+ Add a corresponding matcher cudaDeviceFuncCall to match only (__device__ or __global__) and not __host__ functions.
+ Add a corresponding device functions mapping:
  only unsupported are listed, cause supported are exactly the same as of CUDA and do not need transformation;
  make FindAndReplace for device functions separated from host API calls.
+ Add a test to distinguish device functions and user-defined.
2019-09-06 18:34:12 +03:00
Evgeny Mankov b98330609b [HIPIFY][perl][#259] Fix
empty<<<1, 2>>> ( );     >>  hipLaunchKernelGGL(empty, dim3(1), dim3(2), 0, 0);
empty<<<1, 2, 0>>>();    >>
empty<<<1, 2, 0, 0>>>(); >>

instead of erroneous:    >> hipLaunchKernelGGL((empty), dim3(1), dim3(2), 0, 0, );
2019-09-03 16:44:20 +03:00
Evgeny Mankov 1bf6deb149 [HIPIFY][tests] Add occupancy test 2019-09-02 17:54:06 +03:00
Sameer Sahasrabuddhe 70023c9075 remove obsolete test for OCKL Asynchronous Streams
The implementation for OCKL AS was recently removed from the device
library since that feature is now superseded by hostcall.
2019-08-30 20:41:29 +05:30