Граф коммитов

879 Коммитов

Автор SHA1 Сообщение Дата
Rahul Garg b68c8d2f60 Formatting changes
[ROCm/hip commit: 55f2a38120]
2019-10-30 18:12:51 -07:00
Rahul Garg 8429e15052 Formatting changes ,variable name and check update
[ROCm/hip commit: 4ab71216b4]
2019-10-30 18:09:21 -07:00
amd-lthakur 5e11495936 Excluded the test case for nvcc platform
[ROCm/hip commit: 4239c94fe5]
2019-10-25 15:52:11 +05:30
amd-lthakur 158cab3bb7 Refactored the file as suggested
[ROCm/hip commit: 564418c308]
2019-10-25 10:44:38 +05:30
amd-lthakur 629a933b63 Update matmul.cpp
[ROCm/hip commit: 318df5c36b]
2019-10-25 09:22:07 +05:30
amd-lthakur 4b771db194 Update hipExtModuleLaunchKernel.cpp
[ROCm/hip commit: cd25149225]
2019-10-25 09:19:49 +05:30
amd-lthakur 297a20eac7 Adding a directed test case for hipExtModuleLaunchKernel() api.
[ROCm/hip commit: 8b496e4715]
2019-10-24 15:06:28 +05:30
Rahul Garg 66f0280f0b Merge pull request #1559 from vsytch/win10_aligned_alloc
Fixes for hipMemcpy_simple on Windows

[ROCm/hip commit: fe5f7d4245]
2019-10-23 13:10:59 -07:00
Evgeny Mankov d39793f0f7 [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.


[ROCm/hip commit: b6e6f12b54]
2019-10-22 19:07:37 +03:00
Evgeny Mankov 9822351686 [HIPIFY][#1569] Fix
[ROCm/hip commit: 6f88c81a78]
2019-10-22 11:08:37 +03:00
Evgeny Mankov a9b05f246b [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.


[ROCm/hip commit: 39e7d213cf]
2019-10-21 17:50:00 +03:00
Evgeny Mankov f345ec8c58 [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)


[ROCm/hip commit: 14b4df126c]
2019-10-21 15:51:25 +03:00
Evgeny Mankov 57b2e130e0 [HIPIFY][tests] Set -I for CUDA path instead of --cuda-path for LLVM < 4
[ROCm/hip commit: 6cfea9b600]
2019-10-20 20:08:56 +03:00
Evgeny Mankov 9ec744aaae [HIPIFY][tests] Exclude all CUB tests if CUDA_CUB_ROOT_DIR is not set
[ROCm/hip commit: ccb075b1db]
2019-10-20 20:03:18 +03:00
Vladislav Sytchenko 05cf0313ce Remove extra #endif.
[ROCm/hip commit: 664b115c44]
2019-10-18 16:40:29 -04:00
Evgeny Mankov 376037abfc [HIPIFY][tests] Test clean-up
[ROCm/hip commit: 82adc93e69]
2019-10-18 18:55:52 +03:00
Evgeny Mankov 55e2ef4c7a [HIPIFY][CUB][#1460] Add "using namespace cub" translation support
+ Add cub_03.cu


[ROCm/hip commit: 98874c0e7f]
2019-10-18 18:51:40 +03:00
Vladislav Sytchenko fd17d3b737 _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.


[ROCm/hip commit: 8f0a226660]
2019-10-17 18:58:32 -04:00
Rahul Garg f82e9cd090 Merge pull request #1544 from vsytch/master
QoL changes to the hipMemset family

[ROCm/hip commit: e1aac060da]
2019-10-16 18:54:20 -07:00
Evgeny Mankov 60c5f0a6c7 [HIPIFY][CUB][#1460] Add cub:: namespace support in TemplateInstantiation of cudaLaunchKernel
+ Update cub_02.cu test accordingly


[ROCm/hip commit: edfd05a86d]
2019-10-16 19:02:13 +03:00
Vladislav Sytchenko 779d723ac2 hipMemset2D and hipMemset3D tests should be passing by default.
[ROCm/hip commit: c747b77ac1]
2019-10-16 11:02:38 -04:00
Evgeny Mankov dcbe9432bd [HIPIFY][CUB][#1460] Implement cubFunctionTemplateDecl matcher
+ Add cub_02.cu test
+ Partial fixes #1460


[ROCm/hip commit: 6960574850]
2019-10-16 13:08:11 +03:00
vsytch eaa616bf6d Update hipMathFunctions, hipTestHalf and hipTestNativeHalf tests to support Navi10 and Navi14. (#1545)
[ROCm/hip commit: 2fb734ef5f]
2019-10-16 10:51:48 +05:30
Vladislav Sytchenko 948dd510eb In the hipMemset2D and hipMemset3D tests synchronize with the default stream after performing an async memset.
[ROCm/hip commit: f5af263aba]
2019-10-15 17:15:49 -04:00
Vladislav Sytchenko 6180a9edb3 Update indentation in the hipMemset3D test. Replace all tabs with four spaces.
[ROCm/hip commit: 346bfa90d6]
2019-10-15 15:29:14 -04:00
Vladislav Sytchenko 5a29d10dbb Add async subtest to hipMemSet3D
[ROCm/hip commit: 00425bdf3d]
2019-10-15 14:24:04 -04:00
Vladislav Sytchenko 28089f61b6 hipMemset2D test should pass only if both async and sync subtests pass.
[ROCm/hip commit: 3db2ecc52b]
2019-10-15 14:20:14 -04:00
Evgeny Mankov 44ca50dfd0 [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"


[ROCm/hip commit: 3444834e3a]
2019-10-15 14:20:23 +03:00
Evgeny Mankov d174cad0aa [HIPIFY][CUB] Add missing unit test
[ROCm/hip commit: 92fb5a3a94]
2019-10-14 12:03:20 +03:00
Evgeny Mankov 3deccebb07 [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.


[ROCm/hip commit: 277d3b8369]
2019-10-14 11:55:55 +03:00
Jatin Chaudhary adf925d497 Re enable test RTC (#1516)
Adding target resolution in hiprtc tests and reenable them.

[ROCm/hip commit: 32eb6d3bec]
2019-10-10 19:59:55 +05:30
ansurya b37210badc 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.

[ROCm/hip commit: 87834500b9]
2019-10-10 19:58:41 +05:30
Evgeny Mankov b4d99584dc [HIPIFY][test] Update allocators.cu test
[ROCm/hip commit: 88cb3504ff]
2019-10-10 17:20:41 +03:00
Evgeny Mankov 69ea727e92 [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


[ROCm/hip commit: 3286ffdfc0]
2019-10-08 15:58:48 +03:00
ansurya 66e94b1b1f Added new Memory API's (#1399)
Added new memory API's hipMemAllocPitch, hipMemAllocHost, hipMemsetD16, hipMemsetD16Async, hipMemsetD8Async
Modified to support all scenarios hipMemcpyParam2DAsync, hipMemcpyParam2D.


[ROCm/hip commit: ba9c6e13e4]
2019-10-04 13:36:31 +05:30
Evgeny Mankov eab4a41336 [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.


[ROCm/hip commit: 6bb9913e8a]
2019-10-02 16:01:07 +03:00
Evgeny Mankov 8e6ab7a6c0 Merge pull request #1492 from emankov/master
[HIPIFY][#1490][fix] Populate the list of supported device atomic functions

[ROCm/hip commit: 108992428d]
2019-10-01 14:00:07 +03:00
Evgeny Mankov 3652d77965 [HIPIFY][#1490][fix] Populate the list of supported device atomic functions
+ Update hipify-perl accordingly
+ Add atomics.cu test on all atomics


[ROCm/hip commit: b5f17e8ff0]
2019-10-01 13:57:46 +03:00
Sarbojit2019 bfa8867a64 [dtests] Separated C macros from CPP header file (#1429)
* Separated C macros from CPP header file

* Updated review comment


[ROCm/hip commit: cde5119c9e]
2019-10-01 12:38:32 +05:30
Yaxun (Sam) Liu 21201779c6 Fix cast of __half for HIP-clang (#1475)
[ROCm/hip commit: 56193a7828]
2019-09-30 10:40:42 +05:30
AlexBinXie e404049a71 [hip] Added gfx803,gfx1010,gfx1012 kernel binary hipModule test. (#1444)
This is to address hipModule test seg fault in GFX1010

[ROCm/hip commit: b3e6ba50c3]
2019-09-30 10:38:37 +05:30
Evgeny Mankov ca15d193e8 [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


[ROCm/hip commit: 9d1d4b78e3]
2019-09-25 18:53:17 +03:00
Evgeny Mankov 1eff176c03 [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


[ROCm/hip commit: dd6a92afb7]
2019-09-24 09:44:17 +03:00
Evgeny Mankov 0504e85f02 [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


[ROCm/hip commit: 3722d5b4b9]
2019-09-19 19:33:42 +03:00
Evgeny Mankov 2cd2afa84b [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


[ROCm/hip commit: 4f59ec25fe]
2019-09-16 17:36:55 +03:00
AlexBinXie d86d4d674d [hip]Skip test when hipHostMallocCoherent is not supported by implementation (#1380)
[ROCm/hip commit: 5ed1f3e2c8]
2019-09-16 08:31:43 +00:00
ansurya b5549f4397 Added new device attributes (#1377)
* Added new device attributes

* updated comment

* updated with new device attributes supported


[ROCm/hip commit: ceb734b917]
2019-09-16 08:31:30 +00:00
Aryan Salmanpour 8e18dee555 [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


[ROCm/hip commit: 48880a017e]
2019-09-16 08:31:09 +00:00
Evgeny Mankov ba10db6fc6 [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);


[ROCm/hip commit: 56ab105e9d]
2019-09-10 15:59:06 +03:00
Evgeny Mankov 17b734afde [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.


[ROCm/hip commit: 6602fadc16]
2019-09-06 18:34:12 +03:00