Commit Graph

239 Commits

Author SHA1 Message Date
Reshabh Sharma 264082869c Output file name should not change flags picked for compiler (#1938)
Fixes SWDEV-207362,

The output file name should not contribute to picking up the right flags for the compiler. This fix solves issues when the output has conflicting extensions which confuses hipcc to treat them as the source files and add the required flags for them.

PS: Output file refers to the file followed by -o

Change-Id: I1095966c11143ad73e81fabc35b4e9de5d3afada
Example: hipcc test.o -o test.hip will add the flags for .hip compilation ignoring the fact that it is an output file


[ROCm/hip commit: bb62f8553f]
2020-03-31 16:13:43 -04:00
Michael LIAO 9a2e585762 [hipcc] Remove the previous workaround.
Change-Id: Ie1c2aa21689bc343c10fd4b699546cf500ced5b2


[ROCm/hip commit: f1566f6dc5]
2020-03-30 10:18:47 -04:00
Sameer Sahasrabuddhe be216b9ab6 SWDEV-204784: separate printf declaration for vdi/clang
There are now two implementations of printf in HIP:

1. The implemenation for HCC is controlled by the HC_FEATURE_PRINTF
   macro, and it works only with the HCC compiler used in combination
   with the HCC runtime.

2. The implementation for hip-clang requires the VDI runtime, and is
   always enabled with that combination.

Change-Id: Ibaeda7900ffe2ce602ca0094aafed0f1147ac2b6


[ROCm/hip commit: 64cd527335]
2020-03-16 04:00:39 -04:00
Yaxun (Sam) Liu 9683880363 Let hipcc not pass -mllvm option to HIP-Clang on Windows
Currently there is a clang bug on Windows causing duplicate -mllvm options in clang -cc1.

Tempoarily disable -mllvm options for HIP-Clang on Windows until the bug is fixed.

Change-Id: I3a4393ba7745989398dc6c6001722837dad18704


[ROCm/hip commit: 92af5e4375]
2020-03-10 13:07:26 -04:00
Lad, Aditya 044a1924ba Merge branch 'master' into amd-master-next
Conflicts:
	CMakeLists.txt
	tests/src/texture/simpleTexture2DLayered.cpp
	tests/src/texture/simpleTexture3D.cpp

Change-Id: I4aa4754d391b5f37ddf15fa0bcfc84d9da020119


[ROCm/hip commit: d80edf9541]
2020-03-06 14:10:44 -05:00
agodavar 428d4842ae Enable tests hipTestDeviceSymbol,hipTestConstant and p2p_copy_coherency on hip-vdi
SWDEV-225266: [HIP-VDI] HIP-VDI disabled tests (p2p_copy_coherency.cpp)
SWDEV-225388: hipTestDeviceSymbol.cpp & hipTestConstant.cpp failed to build on hip-vdi

For hipTestDeviceSymbol.cpp & hipTestConstant.cpp tests:
Currently "__HIP_VDI__" flag is enabled in CMakeLists.txt, but when application is compiled with hipcc,  
__HIP_VDI__ is not defined to differentiate if compiled for VDI/HCC for headers.

For ./src/runtimeApi/memory/p2p_copy_coherency.cpp:
Fixed compilation issue to include only when compile for HCC runtime "<hc_am.hpp> not found"
Currently test is disabled to run on all platforms. When validated on multi-GPU machine,
memcpy between multiple GPUs via GPU synchronization is not working on hcc and vdi path.
Need to validate on nvidia machine to know if test is valid. Disabled GPU synchronization test for now.

For ./src/runtimeApi/module/hipModuleTexture2dDrv.cpp:
updated test to generate tex2d_kernel.code object in build directory. Currently ctest looks for it in build directory.

Change-Id: I629d395a919c2440d921422716944c7940ed6010


[ROCm/hip commit: 3479847d16]
2020-03-04 10:07:09 -05:00
Rahul Garg c34c9a4b4d Remove deprecated HIP markers (#1876)
[ROCm/hip commit: 6c5fa32815]
2020-02-28 16:47:15 +05:30
Yaxun (Sam) Liu 3067349909 Fix hipcc for extra -mllvm option (#1885)
[ROCm/hip commit: 69404d8e78]
2020-02-26 15:53:43 +05:30
Yaxun (Sam) Liu 32297229da Let HIP-Clang inline all functions by default (#1875)
This is a quick workaround to match HCC behavior for performance since inlining usually
results in more optimization opportunities therefore better performance.

We will fine tuning inline threashold later.

[ROCm/hip commit: 92cc29ae2b]
2020-02-17 22:49:26 +05:30
Siu Chi Chan cc1b402fe3 Disabling HCC code object v3 generation by default.
Some PyTorch unit tests have regression.  Disabling cov3 to allow more
time to debug and unblock PyTorch

Change-Id: Iba7f425ef3499c20c42ec45d9152b5d27ce97d03


[ROCm/hip commit: f2ab87d872]
2020-02-14 19:39:27 -05:00
Payam 7e9ece1a25 updated hipcc to include HSA path for clang builds as well
Change-Id: Icaaa68fdbe79fb16e4e9fedd420460f1479d7fe0


[ROCm/hip commit: b95968187b]
2020-02-13 16:48:24 -05:00
mhbliao 63ccc49116 [hip] Cleanup compiler wrapper for HIP-Clang. (#1847)
[ROCm/hip commit: a01b262660]
2020-02-07 13:28:26 -08:00
Michael LIAO b851e564f4 [hipcc] Skip warning on gfx000.
- The known target checking should skip `gfx000` as well as it won't be
  used in real compilation command formation. The avoid generating
  annoying warning on `gfx000`.


[ROCm/hip commit: 66678b0170]
2020-02-06 17:09:14 -05:00
Siu Chi Chan b93eb89b37 Enable code object v3 codgen when compiling with HCC (#1836)
Change-Id: I590c05a418cc37ec247b89124cef17a7fe8b27e2

[ROCm/hip commit: 93e62401c7]
2020-02-05 20:56:33 +05:30
kpyzhov 17ea5021ed hipcc script: Refined device selection; added gfx1011 target. (#1821)
[ROCm/hip commit: af118b98d2]
2020-02-04 08:56:16 +05:30
paulfreddy e47b0a4152 Changes for multiple ROCm installation (#1771)
* FBA-29, FBA-69, multiple rocm support, shared library conflicts
Changes to resolve:
1) Multiple rocm release installation support
2) Multiple rocm shared lib conflicts
3) Add the so versioning also

[ROCm/hip commit: 3bc69394d0]
2020-01-21 14:17:35 +05:30
Rahul Garg 86dbb13897 Fix hipcc warning related to hipVersion (#1767)
* Fix hipcc warning related to hipVersion
* Rename hipVersion.h to hip_version.h
* Remove HIP_VERSION splitting
* Update .gitignore
- Ignore generated include/hip/hip_version.h
- Removed some stale entries
- Added executables from samples/1_Utils/*/ for consistency with bin/ entries.

[ROCm/hip commit: f3cafd5855]
2020-01-06 12:33:23 +05:30
Sarbojit2019 6d2ec032fe Change to generate hipVersion.h (#1726)
HIP_VERSION_MAJOR, HIP_VERSION_MINOR, HIP_VERSION_PATCH and HIP_VERSION pre-processor macros are now defined in hipVersion.h instead of being set by hipcc.

[ROCm/hip commit: aa4aea0754]
2019-12-30 12:44:24 +05:30
Rahul Garg 80ee1cc5a5 Merge pull request #1550 from yxsamliu/new-launch
Add -fhip-new-launch-api to hipcc for HIP/VDI

[ROCm/hip commit: 1fd16d7601]
2019-10-17 19:07:32 -07:00
Rahul Garg d3a40b7b2e Revert "hipcc defaults to code object v3 (#1298)"
This reverts commit 7dbc574a4b.


[ROCm/hip commit: 5f37f3174a]
2019-10-17 13:27:28 -04:00
kpyzhov cba73a44ef [hipcc] Temporary add -D_OPENMP to clang options to workaround cmake issue (#1540)
* Temporary add -D_OPENMP to clang options in hipcc to allow using CMake OpenMP detection with hip-clang (until updated CMake version is available).

[ROCm/hip commit: 596bf4e326]
2019-10-16 10:51:28 +05:30
Yaxun (Sam) Liu 73763f8748 Add -fhip-new-launch-api to hipcc for HIP/VDI
[ROCm/hip commit: 4d5cb8351c]
2019-10-15 21:47:33 -04:00
srinivamd fe7c030148 remove dependencies on /opt/rocm path (#1379)
* remove hard coded dependencies on /opt/rocm path

[ROCm/hip commit: 908e14d176]
2019-10-10 19:56:55 +05:30
Maneesh Gupta 7dbc574a4b hipcc defaults to code object v3 (#1298)
Change-Id: I272ec61090fa504d631fb54371a73dd6fd17a167

[ROCm/hip commit: d39a2a0749]
2019-10-04 13:35:21 +05:30
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
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
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
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
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
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
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
Aaron Enye Shi b19e4b5b63 Consume the code obj args to prevent duplicates
[ROCm/hip commit: 2cd34f3c01]
2019-02-19 17:02:27 +00:00