Commit Graph

493 Commits

Author SHA1 Message Date
Maneesh Gupta 4e1f6f2a0e Merge branch 'amd-master' into amd-master-next
Change-Id: I3094c15008093f2072bcd38aca4ea90aeae2d97b


[ROCm/hip commit: 2af31479e2]
2020-04-09 06:31:00 -04:00
Rahul Garg 6fe5c52518 Bump version to 3.5 (#1993)
* Switch CI testing from rocm-3.1.x to rocm-3.3.x
* Update hcc workweek for cooperative view
* bump version to 3.5

[ROCm/hip commit: 59afcb1091]
2020-04-06 15:39:10 +05:30
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
Yaxun (Sam) Liu 069cca494a 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

[ROCm/hip commit: 3bef4e60ad]
2020-03-25 14:41:27 -07:00
Yaxun (Sam) Liu 89cf7e2c4d 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.

[ROCm/hip commit: 28db1e4383]
2020-03-19 16:16:31 +05:30
Evgeny Mankov 4bd8b4d462 [HIPIFY][perl] Fix missed sync with hipify-clang
[ROCm/hip commit: c9672b8de5]
2020-03-18 14:24:02 +03:00
Evgeny Mankov ebf3416037 [HIPIFY][SPARSE] sync with hipSPARSE's "added csrsm2" (#83)
+ https://github.com/ROCmSoftwarePlatform/hipSPARSE/pull/83
+ Update doc and hipify-perl accordingly


[ROCm/hip commit: 234eae9e92]
2020-03-18 13:44:50 +03:00
Evgeny Mankov e44184131f [HIPIFY][SPARSE] sync with hipSPARSE
+ Update doc and hipify-perl accordingly


[ROCm/hip commit: 5f6c8fa535]
2020-03-18 13:07:46 +03:00
Yaxun (Sam) Liu e05e7d063e 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.

[ROCm/hip commit: 08d9759eba]
2020-03-18 11:20:21 +05:30
Reshabh Sharma 8268ddab28 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/hip commit: 7bcfdf017d]
2020-03-17 14:02:14 +05:30
Reshabh Sharma 72160882ca 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/hip commit: bbbb8bf1e6]
2020-03-17 14:01:33 +05:30
Yaxun (Sam) Liu 20191a4057 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/hip commit: 7aa9611689]
2020-03-17 14:00:20 +05:30
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
Vladislav Sytchenko 88ae7337b3 Add hipDrvMemcpy3D.
This is the equivalent of cuMemcpy3D.

Change-Id: Ib2e06dbd6f5093c931cdfd36c87617f32acffc2d


[ROCm/hip commit: ecd7c99b49]
2020-03-09 16:11:25 -04:00
Sameer Sahasrabuddhe 07abb2d633 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/hip commit: 09130b3b92]
2020-03-09 09:40:05 +05:30
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
Maneesh Gupta b499822842 bump version to 3.2 (#1898)
- Bump version to 3.2
- [ci] Enable tests on ROCm 3.1

[ROCm/hip commit: 71e1f87f7e]
2020-02-27 16:18:31 +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
Sarbojit2019 9a5658146d [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/hip commit: c1a70707e0]
2020-02-19 13:48:20 +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
Aryan Salmanpour 964a272004 resolve merge conflict
[ROCm/hip commit: 874b201ee2]
2020-02-10 10:30:55 -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
Aryan Salmanpour d5ea43964d update the hipify-perl
[ROCm/hip commit: 5c03a003c3]
2020-01-31 14:36:37 -05:00
Aryan Salmanpour adc9134318 code clean up
[ROCm/hip commit: c8137263d6]
2020-01-31 13:08:25 -05:00
Aryan Salmanpour 78a36b4fb8 [HIP][HIPIFY] Add some missing flags for cooperative launch and occupancy APIs
[ROCm/hip commit: 6e867eacb6]
2020-01-30 15:05:53 -05:00
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
Evgeny Mankov c688151a89 [HIPIFY] Sync with hipSPARSE
+ Update hipify-perl and doc accordingly


[ROCm/hip commit: d7f8654487]
2020-01-13 18:34:10 +03:00
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
Evgeny Mankov 6ac4d18753 Merge pull request #1759 from emankov/master
[HIP] Unify hipError_t (Step 2)

[ROCm/hip commit: 0dadb23327]
2019-12-30 19:21:09 +03:00
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
Evgeny Mankov 30ae3942dc [HIP] Unify hipError_t (Step 2)
Step 2. Make a few hipError codes deprecated
Update hipify-clang, hipify-perl, docs and samples accordingly


[ROCm/hip commit: dbad4d9b7f]
2019-12-22 02:05:31 +03:00
Maneesh Gupta 78dc660cb6 bump version to 3.1 (#1756)
* Bump version to 3.1

* [ci] Enable tests on ROCm 3.0


[ROCm/hip commit: 18c1003469]
2019-12-20 12:10:25 -08:00
Evgeny Mankov baf7e660a2 [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/hip commit: 3b00057922]
2019-12-16 20:09:55 +03:00
Evgeny Mankov 9827755cb5 [HIPIFY][BLAS] Sync with cuBlas/rocblas/hipBlas
[ROCm/hip commit: 396a8a7a00]
2019-12-12 19:52:18 +03:00
Evgeny Mankov 970724661d [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/hip commit: ec9b6a95a3]
2019-12-04 18:37:31 +03:00
Evgeny Mankov c9d68c898f [HIPIFY] CUDA 10.2 fp_16 support
[ROCm/hip commit: e3c3c6d86e]
2019-12-04 13:27:46 +03:00
Evgeny Mankov 6a6aa3226d [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/hip commit: 5a03e8ccb9]
2019-12-04 12:25:20 +03:00
Evgeny Mankov 389263471e [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/hip commit: d33dd71ed3]
2019-11-29 19:29:11 +03:00
Maneesh Gupta 8723218421 Bump version to 3.0 (#1648)
Change-Id: Id1e6eb222080a339af938212e74a52c39c305eab

[ROCm/hip commit: dae8630592]
2019-11-10 20:23:58 -08:00
Evgeny Mankov 07cca5b6bb [HIPIFY][CUB][#1460][perl] Add "cub::" namespace prefix support in hipify-perl as well
[ROCm/hip commit: c48fdefee8]
2019-11-01 14:34:18 +03:00
Evgeny Mankov 933568681c [HIPIFY] cudaMemcpy2DFromArray(Async) support
[ROCm/hip commit: 315a10a59d]
2019-10-29 19:12:42 +03:00