Commit Graph

377 Commits

Author SHA1 Message Date
Reshabh Sharma 278168800f 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

[ROCm/clr commit: 59b8dabbd0]
2020-03-17 14:02:14 +05:30
Reshabh Sharma 10b1f2badf 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.

[ROCm/clr commit: 4a9793e2e2]
2020-03-17 14:01:33 +05:30
Yaxun (Sam) Liu 586dc598b6 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

[ROCm/clr commit: 6b1956d139]
2020-03-17 14:00:20 +05:30
Sameer Sahasrabuddhe 988b489efd 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.


[ROCm/clr commit: 2c3dfdda41]
2020-03-09 09:40:05 +05:30
Rahul Garg 7395bf9ba9 Remove deprecated HIP markers (#1876)
[ROCm/clr commit: 6be7537cf9]
2020-02-28 16:47:15 +05:30
Maneesh Gupta d805279060 bump version to 3.2 (#1898)
- Bump version to 3.2
- [ci] Enable tests on ROCm 3.1

[ROCm/clr commit: 3b4b58bda6]
2020-02-27 16:18:31 +05:30
Yaxun (Sam) Liu d79e247a70 Fix hipcc for extra -mllvm option (#1885)
[ROCm/clr commit: ff4479fcc7]
2020-02-26 15:53:43 +05:30
Sarbojit2019 51087a9a46 [HIPIFY] Add back missing execute permission to hipify-perl (#1881)
hipify-perl script lost its executable permission hence "samples/0_Intro/square" was failing. Fixes SWDEV 223433.

[ROCm/clr commit: d81a9a712a]
2020-02-19 13:48:20 +05:30
Yaxun (Sam) Liu 5748b7550b 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/clr commit: f4120043ed]
2020-02-17 22:49:26 +05:30
Siu Chi Chan c74c8d7a1c 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/clr commit: 13052f27c2]
2020-02-14 19:39:27 -05:00
Aryan Salmanpour 44ce519211 resolve merge conflict
[ROCm/clr commit: dfa565d76f]
2020-02-10 10:30:55 -05:00
mhbliao 87056623e9 [hip] Cleanup compiler wrapper for HIP-Clang. (#1847)
[ROCm/clr commit: 8343d7c9aa]
2020-02-07 13:28:26 -08:00
Michael LIAO 0a97bed2bd [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/clr commit: 59bd608bfe]
2020-02-06 17:09:14 -05:00
Siu Chi Chan 63b6eb1345 Enable code object v3 codgen when compiling with HCC (#1836)
Change-Id: I590c05a418cc37ec247b89124cef17a7fe8b27e2

[ROCm/clr commit: 713702eebc]
2020-02-05 20:56:33 +05:30
kpyzhov 02536516bc hipcc script: Refined device selection; added gfx1011 target. (#1821)
[ROCm/clr commit: 951d7d4ba6]
2020-02-04 08:56:16 +05:30
Aryan Salmanpour 54aca29012 update the hipify-perl
[ROCm/clr commit: d805e98fcb]
2020-01-31 14:36:37 -05:00
Aryan Salmanpour cbefd62db9 code clean up
[ROCm/clr commit: 75572a4175]
2020-01-31 13:08:25 -05:00
Aryan Salmanpour 2733df36b5 [HIP][HIPIFY] Add some missing flags for cooperative launch and occupancy APIs
[ROCm/clr commit: 6db9b782be]
2020-01-30 15:05:53 -05:00
paulfreddy c9c4645328 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/clr commit: c5ed5c71a3]
2020-01-21 14:17:35 +05:30
Evgeny Mankov 271c1447e2 [HIPIFY] Sync with hipSPARSE
+ Update hipify-perl and doc accordingly


[ROCm/clr commit: 41beed4839]
2020-01-13 18:34:10 +03:00
Rahul Garg 32139b7465 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/clr commit: 3fe1695c3a]
2020-01-06 12:33:23 +05:30
Evgeny Mankov 8c58286a9b Merge pull request #1759 from emankov/master
[HIP] Unify hipError_t (Step 2)

[ROCm/clr commit: ed43699a3a]
2019-12-30 19:21:09 +03:00
Sarbojit2019 4d2ee146e1 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/clr commit: 4fd77f8336]
2019-12-30 12:44:24 +05:30
Evgeny Mankov e25a6a39a3 [HIP] Unify hipError_t (Step 2)
Step 2. Make a few hipError codes deprecated
Update hipify-clang, hipify-perl, docs and samples accordingly


[ROCm/clr commit: 9ae76609a1]
2019-12-22 02:05:31 +03:00
Maneesh Gupta 57b69adc8b bump version to 3.1 (#1756)
* Bump version to 3.1

* [ci] Enable tests on ROCm 3.0


[ROCm/clr commit: 86e590ad62]
2019-12-20 12:10:25 -08:00
Evgeny Mankov abcc1db917 [HIPIFY] Revise HIP runtime
+ hipMemAllocHost is deprecated, use hipHostMalloc instead
+ hipMemAllocManaged -> hipMallocManaged
+ hipFreeHost -> hipHostFree
+ cudaMemset3D(Async) -> hipMemset3D(Async)
+ update docs and hipify-perl accordingly


[ROCm/clr commit: 1108ef06e1]
2019-12-16 20:09:55 +03:00
Evgeny Mankov 7480c5aace [HIPIFY][BLAS] Sync with cuBlas/rocblas/hipBlas
[ROCm/clr commit: c7bea1f865]
2019-12-12 19:52:18 +03:00
Evgeny Mankov 8477ab5d86 [HIPIFY] CUDA 10.2 (functions only)
+ Both Driver API and RT API are supported and synced with each other
+ Update *.md docs and hipify-perl accordingly
+ Add new conversion type "virtual_memory", introduced in Dirver API


[ROCm/clr commit: 43441eb99c]
2019-12-04 18:37:31 +03:00
Evgeny Mankov f6da983c96 [HIPIFY] CUDA 10.2 fp_16 support
[ROCm/clr commit: 721a8540c0]
2019-12-04 13:27:46 +03:00
Evgeny Mankov deaf478ced [HIPIFY] CUDA 10.2 support (data types only)
+ Both Driver API and RT API are supported and synced with each other
+ Update *.md docs and hipify-perl accordingly


[ROCm/clr commit: 33f81effb1]
2019-12-04 12:25:20 +03:00
Evgeny Mankov 5317d618d1 [HIPIFY] Sync cudaError/CUresult between CUDA Driver API/CUDA RT API/HIP
+ Update *.md docs and hipify-perl accordingly

[Reason]
Starting with CUDA 10.1 all error codes are merged between Driver and RT APIs

[ToDo]
Do the same merge in HIP API as there is no need in distinguishing return codes by API


[ROCm/clr commit: 636108aaa9]
2019-11-29 19:29:11 +03:00
Maneesh Gupta ca9eb34000 Bump version to 3.0 (#1648)
Change-Id: Id1e6eb222080a339af938212e74a52c39c305eab

[ROCm/clr commit: 0a2682625f]
2019-11-10 20:23:58 -08:00
Evgeny Mankov 43d286e9ce [HIPIFY][CUB][#1460][perl] Add "cub::" namespace prefix support in hipify-perl as well
[ROCm/clr commit: c5a2a2daf2]
2019-11-01 14:34:18 +03:00
Evgeny Mankov bb75fa46f0 [HIPIFY] cudaMemcpy2DFromArray(Async) support
[ROCm/clr commit: 5dd00bdf52]
2019-10-29 19:12:42 +03:00
Evgeny Mankov 82222bf945 [HIPIFY][#1569] Fix
[ROCm/clr commit: e2191e23e6]
2019-10-22 11:08:37 +03:00
Evgeny Mankov de849a44e7 [HIPIFY][perl] Support of 'using namespace cub'
[ROCm/clr commit: 9633cdbd8a]
2019-10-21 17:15:05 +03:00
Rahul Garg 30759e7c9b Merge pull request #1550 from yxsamliu/new-launch
Add -fhip-new-launch-api to hipcc for HIP/VDI

[ROCm/clr commit: 07eed1e5bf]
2019-10-17 19:07:32 -07:00
Rahul Garg 714314fa66 Revert "hipcc defaults to code object v3 (#1298)"
This reverts commit e5a2ba9602.


[ROCm/clr commit: 446718f990]
2019-10-17 13:27:28 -04:00
kpyzhov 19f22b468b [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/clr commit: 9773f94c71]
2019-10-16 10:51:28 +05:30
Yaxun (Sam) Liu abfe4248da Add -fhip-new-launch-api to hipcc for HIP/VDI
[ROCm/clr commit: 739530d53b]
2019-10-15 21:47:33 -04:00
Evgeny Mankov e066bba058 [HIPIFY][CUB] Initial support (hipify-clang only)
+ Add one matcher (will be more)
+ Update Maps and Statistics
+ Add cub_01.cu unit test
+ Update lit harness to support standalone CUB
+ Update README.md
+ Update hipify-perl (only CUB header is supported for now)

[IMPORTANT]
clang (and hipify-clang) works correctly only with official NVLabs version on GitHub.
Compilation of CUB from official CUDA release has conflicts with THRUST.
Thus, to compile CUB sources, option "-I" should be specified to the cloned CUB from NVLAB on GitHub.


[ROCm/clr commit: 97df38903a]
2019-10-14 11:55:55 +03:00
Evgeny Mankov 84e74b1b6c [HIPIFY][perl] Add "important" notice
# IMPORTANT: Do not change this file manually: it is generated by hipify-clang --perl


[ROCm/clr commit: 0ee069bad7]
2019-10-10 18:25:26 +03:00
srinivamd ad8e82ca0b remove dependencies on /opt/rocm path (#1379)
* remove hard coded dependencies on /opt/rocm path

[ROCm/clr commit: 706e4498e3]
2019-10-10 19:56:55 +05:30
Evgeny Mankov 808f59cd1c [HIPIFY][#1487][fix] Translate correctly kernel names prefixed with namespace
+ Modify CUDA2HIP_perl for the fix
+ Add ns_kernel_launch.cu test
+ Update hipify-perl by hipify-clang -perl


[ROCm/clr commit: 4a2d87b70c]
2019-10-08 15:58:48 +03:00
Evgeny Mankov c08b24a569 [HIPIFY] Sync with HIP
+ Update hipify-perl accordingly


[ROCm/clr commit: 59c5220c2f]
2019-10-07 14:44:05 +03:00
Evgeny Mankov 48224daaa3 [HIPIFY][SPARSE] sync with hipSPARSE
+ Update doc and hipify-perl accordingly


[ROCm/clr commit: 201e6deaac]
2019-10-05 15:53:04 +03:00
ansurya efc64a4f8a Added new Memory API's (#1399)
Added new memory API's hipMemAllocPitch, hipMemAllocHost, hipMemsetD16, hipMemsetD16Async, hipMemsetD8Async
Modified to support all scenarios hipMemcpyParam2DAsync, hipMemcpyParam2D.


[ROCm/clr commit: 96890792b0]
2019-10-04 13:36:31 +05:30
Maneesh Gupta e5a2ba9602 hipcc defaults to code object v3 (#1298)
Change-Id: I272ec61090fa504d631fb54371a73dd6fd17a167

[ROCm/clr commit: c8f38a139a]
2019-10-04 13:35:21 +05:30
Evgeny Mankov cc2af89494 [HIPIFY] Finishing with generation of hipify-perl
+ hipify-perl script is entirely generated by hipify-clang under an option -perl now
+ hipify-perl still has correctness gaps comparing to hipify-clang: they will be eliminated AMAP further


[ROCm/clr commit: 94aac73b3b]
2019-10-03 16:00:52 +03:00
Evgeny Mankov 85ae269393 [HIPIFY] Return to wrapping with HIP_KERNEL_NAME(...) macro of a template instantiation kernel launch
[REASON]

1. hip-clang is fine with the templated kernel launch, brackets are unneeded: HIP_KERNEL_NAME(...) __VA_ARGS__
2. HCC is not, thus: HIP_KERNEL_NAME(...) (__VA_ARGS__)

[TODO] Clean-up entirely kernel name wrapping when HCC is finally obsolete.

+ Update perl generation, hipify-perl, and affected tests accordingly.


[ROCm/clr commit: fee2f0fa78]
2019-10-02 16:01:07 +03:00