Γράφημα Υποβολών

239 Υποβολές

Συγγραφέας SHA1 Μήνυμα Ημερομηνία
Yaxun (Sam) Liu 2198aead38 Add option --hipcc-func-supp for function support (#1957)
By default hipcc passes -mllvm options to let HIP-Clang inline all device functions.

--hipcc-func-supp enables function support and disables inline all.

--hipcc-no-func-supp disable function support and enables inline all.

This is a temporary solution to match HCC behavior for performance.

This option is mainly for debugging purpose.

Change-Id: I0c44ac1812bb3cea5c3e5b6e14ebaa45919236f6
2020-03-25 14:41:27 -07:00
Yaxun (Sam) Liu 31d9ea89f1 Let hipcc treat .c program as C program (#1945)
nvcc treats .c program as C program and .cpp program as C++ program.

Currently hipcc treats .c and .cpp programs as HIP programs.

It is desirable to let hipcc behave like nvcc.

Currently it is not feasible to let hipcc treat .cpp programs as C++ program
since there are too many HIP applications use .cpp as extension for HIP programs.
However we should be able let hipcc treat .c program C program since there
are few applications use .c as extensioin for HIP programs.
2020-03-19 16:16:31 +05:30
Yaxun (Sam) Liu 0307ae4c9a Workaround for libc++ include path for HIP-Clang (#1917)
HIP-Clang cuda_wrapper headers require clang include path before standard C++ include path.
However libc++ include path requires to be before clang include path.
To workaround this, we pass -isystem with the parent directory of clang include
path instead of the clang include path itself.
2020-03-18 11:20:21 +05:30
Reshabh Sharma 59b8dabbd0 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

Example: hipcc test.o -o test.hip will add the flags for .hip compilation ignoring the fact that it is an output file
2020-03-17 14:02:14 +05:30
Reshabh Sharma 4a9793e2e2 Don't force compiler to treat libhip_hcc.so as a text file (#1931)
Fixes SWDEV-226025,

Right now -x c++ can come before libhip_hcc.so which forces the compiler to treat libhip_hcc.so as a text file and generates a lot of gibberish unicode. This PR changes the order of flags ensuring that -x c++ and similar flags come after libhip_hcc.so
Hopefully, this will not have any negative side effect.
2020-03-17 14:01:33 +05:30
Yaxun (Sam) Liu 6b1956d139 Let hipcc not pass -mllvm option to HIP-Clang on Windows (#1924)
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
2020-03-17 14:00:20 +05:30
Sameer Sahasrabuddhe 2c3dfdda41 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.
2020-03-09 09:40:05 +05:30
Rahul Garg 6be7537cf9 Remove deprecated HIP markers (#1876) 2020-02-28 16:47:15 +05:30
Yaxun (Sam) Liu ff4479fcc7 Fix hipcc for extra -mllvm option (#1885) 2020-02-26 15:53:43 +05:30
Yaxun (Sam) Liu f4120043ed 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.
2020-02-17 22:49:26 +05:30
Siu Chi Chan 13052f27c2 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
2020-02-14 19:39:27 -05:00
mhbliao 8343d7c9aa [hip] Cleanup compiler wrapper for HIP-Clang. (#1847) 2020-02-07 13:28:26 -08:00
Michael LIAO 59bd608bfe [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`.
2020-02-06 17:09:14 -05:00
Siu Chi Chan 713702eebc Enable code object v3 codgen when compiling with HCC (#1836)
Change-Id: I590c05a418cc37ec247b89124cef17a7fe8b27e2
2020-02-05 20:56:33 +05:30
kpyzhov 951d7d4ba6 hipcc script: Refined device selection; added gfx1011 target. (#1821) 2020-02-04 08:56:16 +05:30
paulfreddy c5ed5c71a3 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
2020-01-21 14:17:35 +05:30
Rahul Garg 3fe1695c3a 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.
2020-01-06 12:33:23 +05:30
Sarbojit2019 4fd77f8336 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.
2019-12-30 12:44:24 +05:30
Rahul Garg 07eed1e5bf Merge pull request #1550 from yxsamliu/new-launch
Add -fhip-new-launch-api to hipcc for HIP/VDI
2019-10-17 19:07:32 -07:00
Rahul Garg 446718f990 Revert "hipcc defaults to code object v3 (#1298)"
This reverts commit c8f38a139a.
2019-10-17 13:27:28 -04:00
kpyzhov 9773f94c71 [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).
2019-10-16 10:51:28 +05:30
Yaxun (Sam) Liu 739530d53b Add -fhip-new-launch-api to hipcc for HIP/VDI 2019-10-15 21:47:33 -04:00
srinivamd 706e4498e3 remove dependencies on /opt/rocm path (#1379)
* remove hard coded dependencies on /opt/rocm path
2019-10-10 19:56:55 +05:30
Maneesh Gupta c8f38a139a hipcc defaults to code object v3 (#1298)
Change-Id: I272ec61090fa504d631fb54371a73dd6fd17a167
2019-10-04 13:35:21 +05:30
Yaxun (Sam) Liu 19a9b15306 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.
2019-08-29 01:03:11 +00:00
Sarbojit2019 f106375a34 [hipcc] Fix for uninitialized variables on nvcc path
Fixes #1186
2019-08-20 12:06:22 +00:00
Maneesh Gupta 1884359940 Bump HIP version (#1311)
- Match HIP version with upcoming ROCm version
- Add githash to version string
2019-08-09 12:13:29 +00:00
Maneesh Gupta 268d82aefd Merge pull request #1305 from ROCm-Developer-Tools/fix-hip-vdi-include-clang
Fix HIP-VDI using incorrect include files
2019-08-08 08:28:20 +00:00
Aaron Enye Shi 3750b2cf42 Fix HIP-VDI using incorrect include files
When HIP-VDI depends on an llvm-amdgpu package, the include clang directory is not properly assessed.
2019-08-07 16:59:17 -04:00
David Rohr a22119d381 Treat .cxx files like .cpp files 2019-08-07 19:11:35 +02:00
Yaxun (Sam) Liu c1dc675e3d Fix -std=c++14 for windows 2019-07-31 16:36:47 -04:00
Aaron Enye Shi 8c82f9db77 Add GFX908 specific changes to HIP (#1229)
* Add GFX908 specific for HIP

* Fix missing __halfTest in hipTestNativeHalf
2019-07-24 07:51:17 +00:00
Yaxun (Sam) Liu 4b5061e13f Add amdgpu targets gfx1010 and gfx1012 (#1211) 2019-07-12 03:13:35 +00:00
Michael LIAO c3604d3120 [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.
2019-06-14 13:35:00 -04:00
Yaxun Sam Liu 154765df88 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.
2019-05-31 23:58:59 -04:00
Konstantin Pyzhov 332b19023d Fixed setting HIP_CLANG_PATH on Windows. 2019-05-28 09:38:17 -04:00
Yaxun (Sam) Liu 34b1c6c5b2 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
2019-05-28 09:40:34 +05:30
Maneesh Gupta 68d30cd7e4 Merge pull request #1136 from yxsamliu/fix-rdc
Fix device lib path for hip-clang.
2019-05-24 14:16:30 +05:30
Yaxun Sam Liu 6360570532 Fix device lib path for hip-clang.
We now always need device lib path when compiling and not need it at linking.
2019-05-23 15:11:02 -04:00
Aaron Enye Shi 303ba600d6 Fix hipcc exit code when failing 2019-05-16 20:36:58 +00:00
Michael LIAO 92f90c3651 [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.
2019-04-29 16:01:16 -04:00
Aaron Enye Shi 235c6877c8 Revert "Use COMgr to read Kernel Args Metadata (#1006)"
This reverts commit 2c80975e9c.
2019-04-26 16:04:56 -04:00
Aaron Enye Shi 2c80975e9c 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
2019-04-16 08:34:39 +05:30
Yaxun (Sam) Liu 419eeb4fe0 hip-clang: fix hipcc options
Use -O3 for default optimization level.
Fix --hip-device-lib-path for warnings about unused option.
2019-04-09 22:31:13 -04:00
Yaxun (Sam) Liu 98642129cc hip-clang: add include path for hsa headers 2019-04-09 15:01:50 -04:00
Yaxun Sam Liu 55f4c416a0 Change HIP dll name to amdhip64.dll on Windows 2019-03-19 16:27:18 -04:00
Yaxun Sam Liu b40d9c7849 Revert "hipcc should consume -mcode-object-v3 flag"
This reverts commit 8062305f0b.
2019-02-28 11:21:47 -05:00
Yaxun Sam Liu 9002c7d09d Revert "Change code-object flag to only HIP-Clang"
This reverts commit 2a956540ee.
2019-02-28 11:20:04 -05:00
Yaxun Sam Liu 510590ac1d Revert "Consume the code obj args to prevent duplicates"
This reverts commit 3a57510fbb.
2019-02-28 11:19:35 -05:00
Aaron Enye Shi 3a57510fbb Consume the code obj args to prevent duplicates 2019-02-19 17:02:27 +00:00