Commit Graph

3934 Commits

Author SHA1 Message Date
Evgeny Mankov f7b3dcd6d7 [HIPIFY][doc] Return X86 target back in LLVM's cmake
Due to LLVM 9.0.0 release, which still needs X86 for NVPTX, LLVM trunk - doesn't.
2019-09-23 22:20:23 +03:00
Evgeny Mankov 68a7b900b9 Merge pull request #1452 from emankov/hipify-clang
[HIPIFY][perl] CUDA2HIP_Perl code cleanup
2019-09-22 23:46:03 +03:00
Evgeny Mankov a13540b97a [HIPIFY][perl] CUDA2HIP_Perl code cleanup 2019-09-22 23:43:07 +03:00
Evgeny Mankov af54dc20a0 Merge pull request #1451 from emankov/hipify-clang
[HIPIFY][perl] generateSymbolFunctions() small refactoring
2019-09-22 22:36:39 +03:00
Evgeny Mankov d6b0ab0fd2 [HIPIFY][perl] generateSymbolFunctions() small refactoring 2019-09-22 22:34:07 +03:00
Evgeny Mankov 953f4608ab Merge pull request #1450 from emankov/hipify-clang
[HIPIFY][#1435][perl] Add HIP_SYMBOL wrapper to the templated Device Symbol argument of the following functions:
2019-09-21 09:57:14 +03:00
Evgeny Mankov 72a658295f [HIPIFY][#1435][perl] Add HIP_SYMBOL wrapper to the templated Device Symbol argument of the following functions:
cudaMemcpyToSymbol, cudaMemcpyToSymbolAsync, cudaGetSymbolSize, cudaGetSymbolAddress, cudaMemcpyFromSymbol, cudaMemcpyFromSymbolAsync

+ Perl part of [#1441]
+ Implement function generateSymbolFunctions() in hipify-clang for that purposes
+ Update hipify-perl

TODO: Eliminate dim3() issue in hipify-perl as well
2019-09-21 07:33:17 +03:00
Evgeny Mankov 9d972f6bc2 Merge pull request #1445 from emankov/hipify-clang
[HIPIFY][doc] Update README.md due to LLVM 9.0.0 release
2019-09-20 16:00:34 +03:00
Evgeny Mankov 2a27572463 [HIPIFY][doc] Update README.md due to LLVM 9.0.0 release
+ LLVM 9.0.0 is latest stable release, no patches are needed
+ The latest CUDA 10.1 Update 2 is supported
+ Tested on Windows and Linux
2019-09-20 09:16:10 +03:00
Evgeny Mankov f0cb231386 Merge pull request #1441 from emankov/hipify-clang
[HIPIFY][#1435] Add HIP_SYMBOL wrapper to the templated Device Symbol argument of the following functions
2019-09-19 23:12:53 +03:00
Evgeny Mankov d4f8c6bc4b [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 ef42ad2150 Merge pull request #1438 from emankov/master
[HIPIFY][#1437] Fix: cudaFuncGetAttributes to hipFuncGetAttributes is supported
2019-09-18 18:01:26 +03:00
Evgeny Mankov a49f9924a7 [HIPIFY][#1437] Fix: cudaFuncGetAttributes to hipFuncGetAttributes is supported
+ Update hipify-perl and CUDA_Runtime_API_functions_supported_by_HIP.md accordingly
2019-09-18 17:57:31 +03:00
Evgeny Mankov 04c1e194c7 Merge pull request #1436 from emankov/master
[HIPIFY] Add supported device functions (from device_functions.h)
2019-09-18 17:09:24 +03:00
Evgeny Mankov 05d71d4b8b [HIPIFY] Add supported device functions (from device_functions.h)
+ [perl] Sync hipify-perl accordingly
2019-09-18 17:07:50 +03:00
Evgeny Mankov 572b5e56ef Merge pull request #1431 from emankov/hipify-clang
[HIPIFY][#1430] Build fix for LLVM < 8.0.0
2019-09-18 11:56:16 +03:00
Evgeny Mankov 774a6c5667 [HIPIFY][#1430] Build fix for LLVM < 8.0.0 2019-09-18 11:53:23 +03:00
Evgeny Mankov 364eb69eaf Merge pull request #1426 from emankov/master
[HIPIFY] Add supported device functions (from math_functions.h)
2019-09-18 09:43:31 +03:00
Evgeny Mankov 33cd4dffd5 [HIPIFY] Add supported device functions (from math_functions.h)
+ [perl] Add generation of sub countSupportedDeviceFunctions
+ [FIX] Do not perform any replacement for supported device functions
+ [perl] Sync hipify-perl accordingly
2019-09-17 16:17:28 +03:00
Evgeny Mankov 85553ec483 Merge pull request #1423 from emankov/master
[HIPIFY][perl][fix] Treat ::device_function as a device function
2019-09-17 10:06:56 +03:00
Evgeny Mankov b43bb7d3c1 [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
Evgeny Mankov 2816bae3e1 Merge pull request #1422 from emankov/master
[HIPIFY] Fix build failure due to typo in [#1377]
2019-09-16 14:30:01 +03:00
Evgeny Mankov dd752e3d4e [HIPIFY] Fix build failure due to typo in [#1377] 2019-09-16 14:28:52 +03:00
mhbliao 4691c1ef8c [HIP] Remove a circular including. (#1418) 2019-09-16 08:32:47 +00:00
satyanveshd 842e304a9c Fix checks in hipMemcpy[D/H]to[D/H]() (#1397)
* SWDEV-202043 hipMemcpyDtoD() issue
2019-09-16 08:32:38 +00:00
AlexBinXie 313726a457 [hip]Skip test when hipHostMallocCoherent is not supported by implementation (#1380) 2019-09-16 08:31:43 +00:00
ansurya e2a934f377 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 6c7da60e28 [hip] add initial support for hipLaunchCooperativeKernelMultiDevice API (#1368)
* [hip] add initial support for hipLaunchCooperativeKernelMultiDevice API

* fix formatting
2019-09-16 08:31:17 +00:00
Aryan Salmanpour 51c7fedd36 [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 8d4c80fc9c Merge pull request #1421 from emankov/hipify-clang
[HIPIFY] Scripting related refactoring
2019-09-15 21:17:49 +03:00
Evgeny Mankov db2fee682b [HIPIFY] Scripting related refactoring
+ Move generating hipify-perl and hipify-python into separate namespaces and files
+ Move getAbsoluteFilePath and getAbsoluteDirectoryPath to StringUtils
2019-09-15 21:13:56 +03:00
Evgeny Mankov 32c6bae2f4 Merge pull request #1420 from emankov/hipify-clang
[HIPIFY][perl] Syn with hipify-clang
2019-09-15 15:26:54 +03:00
Evgeny Mankov 422403a3ff [HIPIFY][perl] Syn with hipify-clang 2019-09-15 15:25:40 +03:00
Evgeny Mankov a5309b7bc0 Merge pull request #1419 from emankov/hipify-clang
[HIPIFY][perl] Generate sub warnUnsupportedDeviceFunctions
2019-09-15 15:20:13 +03:00
Evgeny Mankov b69f7afa67 [HIPIFY][perl] Generate sub warnUnsupportedDeviceFunctions 2019-09-15 15:18:58 +03:00
Evgeny Mankov d05caef113 Merge pull request #1417 from emankov/master
[HIPIFY][doc] Update README.md
2019-09-13 18:58:22 +03:00
Evgeny Mankov 8e2f68c2a0 Merge pull request #1416 from gargrahul/HACK_hipFreeForManangedMalloc
[HACK] Temporary fix in hipFree for hipManagedMalloc use
2019-09-13 18:57:21 +03:00
Evgeny Mankov 0416eaf12e [HIPIFY][doc] Update README.md
+ Adding -DLLVM_TARGETS_TO_BUILD="NVPTX" to LLVM's cmake command line for minimizing LLVM's build (tested)
+ Test logs update
+ Versions update
2019-09-13 18:56:48 +03:00
Rahul Garg d9179cbe70 Fix typo and colon in comment 2019-09-13 03:09:01 +05:30
Rahul Garg 2e9b8e9d0d [HACK] Temporary fix for hipFree for hipManagedMalloc 2019-09-13 02:10:21 +05:30
Evgeny Mankov b0156df459 Merge pull request #1414 from emankov/master
[HIPIFY] Add unsupported fp16 functions
2019-09-12 18:53:08 +03:00
Evgeny Mankov 4b3889b47e [HIPIFY] Add unsupported fp16 functions 2019-09-12 18:51:25 +03:00
Evgeny Mankov d8fe39ffd2 Merge pull request #1413 from emankov/master
[HIPIFY] Add more unsupported device functions
2019-09-12 17:55:43 +03:00
Evgeny Mankov ece8a71bad [HIPIFY] Add more unsupported device functions 2019-09-12 17:53:25 +03:00
Evgeny Mankov 6a75382e86 Merge pull request #1410 from emankov/master
[HIPIFY][#1404] Fix: add cooperative_groups.h -> hip/hip_cooperative_groups.h
2019-09-11 18:13:05 +03:00
Evgeny Mankov 905c6383db [HIPIFY][#1404] Fix: add cooperative_groups.h -> hip/hip_cooperative_groups.h 2019-09-11 18:07:09 +03:00
Evgeny Mankov ede7e2a094 Merge pull request #1406 from emankov/master
[HIPIFY][#1400] Fix Template Instantiation kernel launch (clang & perl)
2019-09-11 15:49:46 +03:00
Evgeny Mankov 4e3845be83 [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
Aditya Lad 4a53718e10 Replacment of RENAME command in CMakeLists.txt (#1402) 2019-09-10 08:35:16 +00:00
Evgeny Mankov 861dada8ea Merge pull request #1398 from emankov/master
[HIPIFY] Add device functions support
2019-09-07 19:00:00 +03:00