Commit Graph

3530 Commits

Author SHA1 Message Date
Evgeny Mankov a13540b97a [HIPIFY][perl] CUDA2HIP_Perl code cleanup 2019-09-22 23:43:07 +03:00
Evgeny Mankov d6b0ab0fd2 [HIPIFY][perl] generateSymbolFunctions() small refactoring 2019-09-22 22:34:07 +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 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 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 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 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 774a6c5667 [HIPIFY][#1430] Build fix for LLVM < 8.0.0 2019-09-18 11:53:23 +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 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 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 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 422403a3ff [HIPIFY][perl] Syn with hipify-clang 2019-09-15 15:25:40 +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 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 4b3889b47e [HIPIFY] Add unsupported fp16 functions 2019-09-12 18:51:25 +03:00
Evgeny Mankov ece8a71bad [HIPIFY] Add more unsupported device functions 2019-09-12 17:53:25 +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 aec10d6ee1 [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
Jeff Daily 3d7c146296 fix bug where HIP_DB=1 seg faults at startup (#1388) 2019-09-05 10:04:19 +00:00
mhbliao d511c3e363 [hip] Stop using noduplicate and replace it with convergent. (#1390) 2019-09-05 10:03:43 +00:00
Paul Fultz II d359cd4449 Use hcc when building with hcc compiler (#1225)
* Use hcc when building with hcc compiler

* Fix misnamed variable

* Dont set HIP_RUNTIME
2019-09-05 10:03:04 +00:00
Evgeny Mankov a847247d9a [HIPIFY][cmake][#1394] Fix
[#1394] cmake's VERSION_GREATER_EQUAL introduced in 3.7
2019-09-05 12:08:56 +03:00
Evgeny Mankov f114a79462 [HIPIFY][perl] Code cleanup (preparation for generating) 2019-09-05 11:52:59 +03:00
Evgeny Mankov 0ca6525d90 [HIPIFY][perl] Sync hipify-perl with hipify-clang
Sync by means of semi-automatic generation: hipify-clang -perl
2019-09-04 17:07:45 +03:00
Evgeny Mankov 7ab9afe513 [HIPIFY][perl] Code cleanup and formatting 2019-09-04 16:37:26 +03:00
Evgeny Mankov e26ec02a99 [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
Yaxun (Sam) Liu e72346dc24 Do not include cuda wappers for OMP for hip-clang (#1382) 2019-09-03 05:13:59 +00:00
Rahul Garg d433f6fb58 Revert "Using HSA API for hipMemsetAsync (#1346)" (#1381)
This reverts commit 9bbd09b04f.
2019-09-03 05:13:46 +00:00
Nicholas Malaya 796b8aafd7 Fix Broken Link in hip_porting_guide (#1376)
The math library equivalents between CUDA-HIP are broken. This is a key feature for converting to AMD hardware. This fix corrects the broken link and moves the library equivalents to sit under the "Porting a New Cuda Project" header.
2019-09-03 05:13:35 +00:00
Sarbojit2019 4d270775c8 Removed hipLaunchKernel macro got missed in Merge (#1374) 2019-09-03 05:13:07 +00:00
Evgeny Mankov d9b5e2f74a [HIPIFY][doc] Update README.md (testing, versions) 2019-09-02 18:18:43 +03:00
Evgeny Mankov 608331250e [HIPIFY][tests] Add occupancy test 2019-09-02 17:54:06 +03:00
Evgeny Mankov 8eb7d53cec [HIPIFY][fix] Fix for upcoming LLVM 10.0 2019-09-01 18:15:03 +03:00
Sameer Sahasrabuddhe 68c133bd78 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
Evgeny Mankov a0a98790f0 [HIPIFY][DNN] cuDNN 7.6.3 support 2019-08-29 19:55:38 +03:00
Evgeny Mankov 451721a821 Merge pull request #1372 from emankov/master
[HIPIFY][#207][fix] Translate all preprocessor's conditional blocks
2019-08-29 10:30:05 +03:00
Yaxun (Sam) Liu 793b18c0b1 Fix sample 11_texture_driver for hip-clang (#1370) 2019-08-29 01:03:20 +00:00