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

307 Коммитов

Автор SHA1 Сообщение Дата
Evgeny Mankov 4cfb3aa7b7 [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/clr commit: 4e3845be83]
2019-09-10 15:59:06 +03:00
Evgeny Mankov 8dfefa1f9a [HIPIFY][perl] Code cleanup (preparation for generating)
[ROCm/clr commit: f114a79462]
2019-09-05 11:52:59 +03:00
Evgeny Mankov a9d5b1e29e [HIPIFY][perl] Sync hipify-perl with hipify-clang
Sync by means of semi-automatic generation: hipify-clang -perl


[ROCm/clr commit: 0ca6525d90]
2019-09-04 17:07:45 +03:00
Evgeny Mankov 73e71db792 [HIPIFY][perl] Code cleanup and formatting
[ROCm/clr commit: 7ab9afe513]
2019-09-04 16:37:26 +03:00
Evgeny Mankov 790ab87461 [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/clr commit: e26ec02a99]
2019-09-03 16:44:20 +03:00
Yaxun (Sam) Liu 0a81b64a19 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/clr commit: 19a9b15306]
2019-08-29 01:03:11 +00:00
Sarbojit2019 45c928dbba [hipcc] Fix for uninitialized variables on nvcc path
Fixes #1186

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

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

[ROCm/clr commit: 268d82aefd]
2019-08-08 08:28:20 +00:00
Aaron Enye Shi 92a468a647 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/clr commit: 3750b2cf42]
2019-08-07 16:59:17 -04:00
David Rohr 324995e472 Treat .cxx files like .cpp files
[ROCm/clr commit: a22119d381]
2019-08-07 19:11:35 +02:00
Yaxun (Sam) Liu 05b71135e9 Fix -std=c++14 for windows
[ROCm/clr commit: c1dc675e3d]
2019-07-31 16:36:47 -04:00
ansurya d46e575ec1 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/clr commit: 53b5c917cc]
2019-07-31 05:02:20 +00:00
Aaron Enye Shi 73af1ac4bd Add GFX908 specific changes to HIP (#1229)
* Add GFX908 specific for HIP

* Fix missing __halfTest in hipTestNativeHalf


[ROCm/clr commit: 8c82f9db77]
2019-07-24 07:51:17 +00:00
ansurya 8b8946f78b 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/clr commit: 00aa42e05f]
2019-07-18 03:18:50 +00:00
Evgeny Mankov d7600871ad [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/clr commit: ba87bcba5c]
2019-07-17 07:28:54 +00:00
Yaxun (Sam) Liu 682dcddbbd Add amdgpu targets gfx1010 and gfx1012 (#1211)
[ROCm/clr commit: 4b5061e13f]
2019-07-12 03:13:35 +00:00
Michael LIAO 43d194a641 [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/clr commit: c3604d3120]
2019-06-14 13:35:00 -04:00
Yaxun Sam Liu 101cb68a36 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/clr commit: 154765df88]
2019-05-31 23:58:59 -04:00
Konstantin Pyzhov ef65d67aa0 Fixed setting HIP_CLANG_PATH on Windows.
[ROCm/clr commit: 332b19023d]
2019-05-28 09:38:17 -04:00
Yaxun (Sam) Liu 9ec62afb47 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/clr commit: 34b1c6c5b2]
2019-05-28 09:40:34 +05:30
Maneesh Gupta 0f2b9e7b30 Merge pull request #1136 from yxsamliu/fix-rdc
Fix device lib path for hip-clang.

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


[ROCm/clr commit: 6360570532]
2019-05-23 15:11:02 -04:00
Aaron Enye Shi f4fa9d55f9 Fix hipcc exit code when failing
[ROCm/clr commit: 303ba600d6]
2019-05-16 20:36:58 +00:00
Michael LIAO fb427976d7 [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/clr commit: 92f90c3651]
2019-04-29 16:01:16 -04:00
Aaron Enye Shi f8d108a815 Revert "Use COMgr to read Kernel Args Metadata (#1006)"
This reverts commit 10048a5631.


[ROCm/clr commit: 235c6877c8]
2019-04-26 16:04:56 -04:00
Evgeny Mankov 729de93385 [HIPIFY][perl][fix][258] Memory fence device functions are supported now
[ROCm/clr commit: f0c2fdc6d7]
2019-04-25 13:27:30 +03:00
Evgeny Mankov 176db946b2 [HIPIFY][hipify-perl] Formatting
[ROCm/clr commit: 65dd1d4c7d]
2019-04-23 17:55:47 +03:00
Aaron Enye Shi 10048a5631 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/clr commit: 2c80975e9c]
2019-04-16 08:34:39 +05:30
Yaxun (Sam) Liu f6151a55fd hip-clang: fix hipcc options
Use -O3 for default optimization level.
Fix --hip-device-lib-path for warnings about unused option.


[ROCm/clr commit: 419eeb4fe0]
2019-04-09 22:31:13 -04:00
Yaxun (Sam) Liu 40cf556b82 hip-clang: add include path for hsa headers
[ROCm/clr commit: 98642129cc]
2019-04-09 15:01:50 -04:00
Anthony Cowley 191dfc8dff hipify: translate cudaErrorInvalidSymbol
[ROCm/clr commit: f15dd58a91]
2019-04-02 08:54:37 -04:00
Yaxun Sam Liu d52780d6f9 Change HIP dll name to amdhip64.dll on Windows
[ROCm/clr commit: 55f4c416a0]
2019-03-19 16:27:18 -04:00
Maneesh Gupta 9d4d74e5dc Merge pull request #936 from mangupta/swdev-174923
[hipconfig] Update HIP_PLATFORM detection logic

[ROCm/clr commit: 8099d81788]
2019-03-06 06:08:11 +05:30
Yaxun Sam Liu 169bfb6b75 Revert "hipcc should consume -mcode-object-v3 flag"
This reverts commit ac4b2b03ac.


[ROCm/clr commit: b40d9c7849]
2019-02-28 11:21:47 -05:00
Yaxun Sam Liu 89721c8ce8 Revert "Change code-object flag to only HIP-Clang"
This reverts commit 1e483af21b.


[ROCm/clr commit: 9002c7d09d]
2019-02-28 11:20:04 -05:00
Yaxun Sam Liu 768d00f5e7 Revert "Consume the code obj args to prevent duplicates"
This reverts commit 0e1fc751ea.


[ROCm/clr commit: 510590ac1d]
2019-02-28 11:19:35 -05:00
Maneesh Gupta ec494ba628 [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/clr commit: 03adc12474]
2019-02-27 14:10:21 +05:30
Aaron Enye Shi 0e1fc751ea Consume the code obj args to prevent duplicates
[ROCm/clr commit: 3a57510fbb]
2019-02-19 17:02:27 +00:00
Maneesh Gupta 6ed576713f Initialize HIP_LIB_PATH on hcc path
Change-Id: I8f392fffcd6a3714c20cb17e876dbaad999c33a0


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

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

[ROCm/clr commit: b1570ef592]
2019-02-11 11:26:39 +05:30
Maneesh Gupta 97e946911d Merge pull request #903 from yxsamliu/win2
Fix hipcc and hip_vector_types.h for windows

[ROCm/clr commit: 96407ef9ec]
2019-02-11 11:24:03 +05:30
Laurent Morichetti 0229c82be7 Allow HIP_LIB_PATH to be overriden at the command line. Use HIP_LIB_PATH for rpath instead of HIP_PATH/lib
[ROCm/clr commit: e410ee013c]
2019-02-08 13:50:13 -08:00
Aaron Enye Shi ac4b2b03ac hipcc should consume -mcode-object-v3 flag
[ROCm/clr commit: 8062305f0b]
2019-02-08 18:29:14 +00:00
Aaron Enye Shi b273897de1 Add hipInfo path for VDI build
[ROCm/clr commit: b07fab0727]
2019-02-07 22:05:14 +00:00
Yaxun Sam Liu 6d596cf51b Fix hipcc and hip_vector_types.h for windows
Disable linux specific compilation and linking options for windows.

In hip_vector_types.h, hip-clang needs HIP's own implementation for vector types even
on windows. MSVC specific implementation is for building runtime itself, which is compiled
by MSVC.


[ROCm/clr commit: d0fc2d0f99]
2019-02-07 11:07:50 -05:00
Maneesh Gupta 5eead0e89e Merge pull request #898 from yxsamliu/windows
Add windows specific compilation options

[ROCm/clr commit: 0b32d7813e]
2019-02-07 06:00:24 +05:30