Commit Graph

313 Commits

Author SHA1 Message Date
Evgeny Mankov aba6748ab3 [HIPIFY][#1437] Fix: cudaFuncGetAttributes to hipFuncGetAttributes is supported
+ Update hipify-perl and CUDA_Runtime_API_functions_supported_by_HIP.md accordingly


[ROCm/hip commit: f0b1170784]
2019-09-18 17:57:31 +03:00
Evgeny Mankov cc543d6029 [HIPIFY] Add supported device functions (from device_functions.h)
+ [perl] Sync hipify-perl accordingly


[ROCm/hip commit: fc493da5c7]
2019-09-18 17:07:50 +03:00
Evgeny Mankov b1cf1a21d6 [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


[ROCm/hip commit: 042c125601]
2019-09-17 16:17:28 +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
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
Evgeny Mankov 202b65876d [HIPIFY][perl] Syn with hipify-clang
[ROCm/hip commit: 287ceac229]
2019-09-15 15:25:40 +03: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 5ba0d63058 [HIPIFY][perl] Code cleanup (preparation for generating)
[ROCm/hip commit: 3a034a3427]
2019-09-05 11:52:59 +03:00
Evgeny Mankov 835b6481ea [HIPIFY][perl] Sync hipify-perl with hipify-clang
Sync by means of semi-automatic generation: hipify-clang -perl


[ROCm/hip commit: 2a4c008385]
2019-09-04 17:07:45 +03:00
Evgeny Mankov 2b06d68835 [HIPIFY][perl] Code cleanup and formatting
[ROCm/hip commit: 5b8843a127]
2019-09-04 16:37:26 +03:00
Evgeny Mankov 8896d276fe [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, );


[ROCm/hip commit: b98330609b]
2019-09-03 16:44:20 +03:00
Yaxun (Sam) Liu 8aca7f3e25 Do not change opt level for -g for hip-clang (#1369)
Currently hipcc uses -O3 for hip-clang by default but uses -O0 if -g is used. This
causes surprise for users since -g should not affect default opt level.

[ROCm/hip commit: b046ec698b]
2019-08-29 01:03:11 +00:00
Sarbojit2019 3f704a3303 [hipcc] Fix for uninitialized variables on nvcc path
Fixes #1186

[ROCm/hip commit: 938502dfcb]
2019-08-20 12:06:22 +00:00
Maneesh Gupta b58887c33d Bump HIP version (#1311)
- Match HIP version with upcoming ROCm version
- Add githash to version string

[ROCm/hip commit: 3ccddcde25]
2019-08-09 12:13:29 +00:00
Rene van Oostrum 075790c90b Add missing hipHostRegister flags to hipify-perl for flags that are defined and supported in hip_runtime_api.h
[ROCm/hip commit: 05b685cc6b]
2019-08-08 10:46:45 -05:00
Maneesh Gupta 227060fada Merge pull request #1305 from ROCm-Developer-Tools/fix-hip-vdi-include-clang
Fix HIP-VDI using incorrect include files

[ROCm/hip commit: ce7469ba20]
2019-08-08 08:28:20 +00:00
Aaron Enye Shi 7272379649 Fix HIP-VDI using incorrect include files
When HIP-VDI depends on an llvm-amdgpu package, the include clang directory is not properly assessed.

[ROCm/hip commit: 80a3897f9e]
2019-08-07 16:59:17 -04:00
David Rohr a2e61f597e Treat .cxx files like .cpp files
[ROCm/hip commit: a90310162d]
2019-08-07 19:11:35 +02:00
Yaxun (Sam) Liu 76ea65c212 Fix -std=c++14 for windows
[ROCm/hip commit: f467cb850e]
2019-07-31 16:36:47 -04:00
ansurya 357c361949 Add HSA_PATH to hip_Includes in cmake and hipconfig (#1260)
* Add HSA_PATH to hip_Includes in cmake and hipconfig

* HSA_PATH to CACHE path,checks for HSA include path

* Removed new lines at EOF


[ROCm/hip commit: 50597e2085]
2019-07-31 05:02:20 +00:00
Aaron Enye Shi 2e45e37c51 Add GFX908 specific changes to HIP (#1229)
* Add GFX908 specific for HIP

* Fix missing __halfTest in hipTestNativeHalf


[ROCm/hip commit: b754de37c1]
2019-07-24 07:51:17 +00:00
ansurya df4dee39f4 Add Max Texture 1D,2D,3D device properties (#1226)
* Add Max Texture 1D,2D,3D device properties

* Corrected testcase to use enums defined in hipDeviceAttribute_t

* Added texture 1D,2D and 3D support for NVIDIA path


[ROCm/hip commit: 8e496c09d9]
2019-07-18 03:18:50 +00:00
Evgeny Mankov d883d24616 [HIPIFY][bash] Make 'find' sorted by extension (#1231)
+ Source files are the first to go. It is needed for in-place hipification in order to avoid errors with included but already hipified header files.
+ More extensions support for batch processing.

[ROCm/hip commit: b1fad7915b]
2019-07-17 07:28:54 +00:00
Yaxun (Sam) Liu 296d1606f2 Add amdgpu targets gfx1010 and gfx1012 (#1211)
[ROCm/hip commit: 2b5ff1678a]
2019-07-12 03:13:35 +00:00
Michael LIAO 49fce7ba8a [hipcc] Revise include path calculation.
- Once HIP_VDI_HOME is defined but HIP_CLANG_INCLUDE_PATH is not,
  calculate it directly without HIP_CLANG_PATH is defined or not;
  Otherwise, we may leave HIP_CLANG_INCLUDE_PATH undefined, if clang is
  not installed following the official way (so far, HIP-Clang breaks
  that), we may leave HIP_CLANG_INCLUDE_PATH undefined before its uses.


[ROCm/hip commit: e32940357f]
2019-06-14 13:35:00 -04:00
Yaxun Sam Liu d1ffde1c66 Fix default HIP_VDI_HOME
There is soft link /opt/rocm/bin/.hipVersion, therefore when hipcc is executed
as /opt/rocm/bin/hipcc, it will set HIP_VDI_HOME to /opt/rocm, which is
incorrect. Check ../lib/bitcode instead to identify HIP_VDI_HOME.


[ROCm/hip commit: 71f6bf4e67]
2019-05-31 23:58:59 -04:00
Konstantin Pyzhov 8b61e3c467 Fixed setting HIP_CLANG_PATH on Windows.
[ROCm/hip commit: ee1d0efdf6]
2019-05-28 09:38:17 -04:00
Yaxun (Sam) Liu e403db242a Fix hipcc for hip-clang. (#1143)
* Fix hipcc for hip-clang.

If there is -g, do not add -O3 by default.
If HIP_VDI_HOME is not set, set HIP_VDI_HOME based on hipcc directory for HIP/VDI runtime.
For HIP/VDI runtime, set HIP_CLANG_PATH and DEVICE_LIB_PATH based on HIP_VDI_HOME only if they exist.

This allows using HIP/VDI runtime with hip-clang installed at /opt/rocm/llvm and device lib installed
at /opt/rocm/lib.

* Fix HIP_VDI_HOME for hipcc called from /opt/rocm/bin


[ROCm/hip commit: e17f94e080]
2019-05-28 09:40:34 +05:30
Maneesh Gupta da977db4df Merge pull request #1136 from yxsamliu/fix-rdc
Fix device lib path for hip-clang.

[ROCm/hip commit: 43e2c9d361]
2019-05-24 14:16:30 +05:30
Yaxun Sam Liu 320676a2e3 Fix device lib path for hip-clang.
We now always need device lib path when compiling and not need it at linking.


[ROCm/hip commit: bba85f0e24]
2019-05-23 15:11:02 -04:00
Aaron Enye Shi bce37a03b8 Fix hipcc exit code when failing
[ROCm/hip commit: 20ea7e9d26]
2019-05-16 20:36:58 +00:00
Michael LIAO 448be14118 [hipcc] Repace --rpath with --rpath-link
- With `--rpath`, app's RUNPATH is set to the temporary library path
  during build. Instead, `--rpath-link` should be used to leave RUNPATH
  untouched. User should set LD_LIBRARY_PATH or system ld.so.conf to
  proper setting.


[ROCm/hip commit: 7f8b80103d]
2019-04-29 16:01:16 -04:00
Aaron Enye Shi 62e96cb4cf Revert "Use COMgr to read Kernel Args Metadata (#1006)"
This reverts commit 882006555b.


[ROCm/hip commit: a3d118eaa8]
2019-04-26 16:04:56 -04:00
Evgeny Mankov d8f4eff1ef [HIPIFY][perl][fix][258] Memory fence device functions are supported now
[ROCm/hip commit: abd1c53cf8]
2019-04-25 13:27:30 +03:00
Evgeny Mankov a2b6b1e7e9 [HIPIFY][hipify-perl] Formatting
[ROCm/hip commit: defc6f8155]
2019-04-23 17:55:47 +03:00
Aaron Enye Shi 882006555b Use COMgr to read Kernel Args Metadata (#1006)
* Add CMAKE dep to amd_comgr

* Use COMGR for read_kernarg_metadata in COV2

* Do not assume kernargs exist

* Add proper metadata destroy cleanup

* Use a process function for easier destroy

* Remove old read_kernarg_metadata

* Clean up HCC, prints, names

* Use COMGR in CMAKE by default

* Move metadata lookup for keyword values into helper

* Remove C string usage for lookup_keyword_value

* Guard COMGR for non-NVCC path

* Add hip_hcc dependency on comgr package

* Add lifetime to metadata nodes

* Find COMGR config file for amd_comgr target

* Move set_active data earlier


[ROCm/hip commit: 8a548bf40b]
2019-04-16 08:34:39 +05:30
Yaxun (Sam) Liu cc4acbdd08 hip-clang: fix hipcc options
Use -O3 for default optimization level.
Fix --hip-device-lib-path for warnings about unused option.


[ROCm/hip commit: a31036ab74]
2019-04-09 22:31:13 -04:00
Yaxun (Sam) Liu 0f62034e00 hip-clang: add include path for hsa headers
[ROCm/hip commit: c0e0ea9a12]
2019-04-09 15:01:50 -04:00
Anthony Cowley b00a98f27a hipify: translate cudaErrorInvalidSymbol
[ROCm/hip commit: e9b1881c60]
2019-04-02 08:54:37 -04:00
Yaxun Sam Liu 8d6e48820f Change HIP dll name to amdhip64.dll on Windows
[ROCm/hip commit: e2bf34cd5e]
2019-03-19 16:27:18 -04:00
Maneesh Gupta 2264e69da3 Merge pull request #936 from mangupta/swdev-174923
[hipconfig] Update HIP_PLATFORM detection logic

[ROCm/hip commit: 2d67bc5e9c]
2019-03-06 06:08:11 +05:30
Yaxun Sam Liu d9f59b18f8 Revert "hipcc should consume -mcode-object-v3 flag"
This reverts commit 1a8b50e63c.


[ROCm/hip commit: e8556388f9]
2019-02-28 11:21:47 -05:00
Yaxun Sam Liu e748fd2ae0 Revert "Change code-object flag to only HIP-Clang"
This reverts commit 17a853c277.


[ROCm/hip commit: 1bd8d24278]
2019-02-28 11:20:04 -05:00
Yaxun Sam Liu f46d2a3010 Revert "Consume the code obj args to prevent duplicates"
This reverts commit b19e4b5b63.


[ROCm/hip commit: 737972d31c]
2019-02-28 11:19:35 -05:00
Maneesh Gupta 55da014b79 [hipcofig] Update HIP_PLATFORM detection logic
HIP_PLATFORM detection logic relied on finding a working KFD. If it was
found, the platform was set as hcc else as nvcc.
However this logic is flawed since it is possible for the development
system to only have the user mode bits to build HIP application code.
Hence the better logic is to rely on finding a suitable compiler.
The new logic is as follows:
- look for a working HCC. If found, platform is set as hcc.
- else look for a working NVCC. If found, platform is set as nvcc.
- else the platform defaults to hcc for now.

Change-Id: Ifcc42c29a19f722153d5c23c55f1a8765dceaf6b


[ROCm/hip commit: 8b25f7b4cf]
2019-02-27 14:10:21 +05:30
Aaron Enye Shi b19e4b5b63 Consume the code obj args to prevent duplicates
[ROCm/hip commit: 2cd34f3c01]
2019-02-19 17:02:27 +00:00
Maneesh Gupta 7094c2d28d Initialize HIP_LIB_PATH on hcc path
Change-Id: I8f392fffcd6a3714c20cb17e876dbaad999c33a0


[ROCm/hip commit: c8579ead67]
2019-02-13 09:57:21 +05:30
Maneesh Gupta 4441aff847 Merge pull request #910 from aaronenyeshi/hip-code-obj-v3-passing
hipcc should consume -mcode-object-v3 flag

[ROCm/hip commit: d91bbf881c]
2019-02-13 08:58:19 +05:30
Aaron Enye Shi 17a853c277 Change code-object flag to only HIP-Clang
[ROCm/hip commit: 1c6365fbe7]
2019-02-11 17:18:12 +00:00
Maneesh Gupta 9ab6e7b7f6 Merge pull request #911 from lmoriche/hip_clang
Allow HIP_LIB_PATH to be overriden at the command line. Use HIP_LIB_P…

[ROCm/hip commit: 31c4a0dff1]
2019-02-11 11:26:39 +05:30