Commit Graph

6604 Commits

Author SHA1 Message Date
Jannik 566679ba1d Fix call to cuda library (#1197)
* Remove flags parameter from hipOccupancyMaxPotentialBlockSize

This commit makes the hipOccupancyMaxPotentialBlockSize method consistent with hcc path and the CUDA API.


[ROCm/clr commit: a401997b8e]
2019-07-04 00:43:22 +00:00
Aryan Salmanpour 4b06a21504 [hip] Move _criticalData of ihipStream_t class to private section and use criticalData() to access it (#1177)
[ROCm/clr commit: 7e48231252]
2019-07-04 00:42:19 +00:00
Jenkins 2b2f74d171 Merge 'master' into 'amd-master'
Change-Id: I0230d43dca968ed6a8f7695064b98a3de703143d


[ROCm/clr commit: 1c9776d712]
2019-07-03 19:12:35 -04:00
foreman 083dc6fbb0 P4 to Git Change 1940447 by cpaquot@cpaquot-ocl-lc-lnx on 2019/07/03 14:44:49
SWDEV-194872 - [HIP] CUDA and HCC sync after a DeviceToHost async copy.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#60 edit


[ROCm/clr commit: 270c652d0f]
2019-07-03 14:51:15 -04:00
Maneesh Gupta f977bf9278 Fix sample module_api_global for hip-clang (#1201)
module_api_global relies on a HCC only feature which allows host code
to write to device variables. This feature does not exist in CUDA
or hip-clang, which causes the sample not working in CUDA or hip-clang.

This patch fixes the sample by using standard features of CUDA and
hip-clang. The fixed sample works in HCC, CUDA and hip-clang.

[ROCm/clr commit: 3541d18528]
2019-07-03 08:52:19 +00:00
Yaxun (Sam) Liu 2c8502f1db Add __hip_pinned_shadow__ for hip-clang and fix texture reference tests (#1200)
[ROCm/clr commit: 3169f3a881]
2019-07-03 08:51:59 +00:00
Maneesh Gupta 154b861905 Added missing NULL checks and corrected API return values (#1188)
* Added missing NULL checks and corrected API return values as per validation

* Added missing NULL checks


[ROCm/clr commit: a220a8e8e9]
2019-07-03 08:51:39 +00:00
Jatin Chaudhary db5f404b5c Adding new unroll example (#1187)
[ROCm/clr commit: 3cb87cdc46]
2019-07-03 08:51:19 +00:00
Yaxun Sam Liu 79c6028768 Fix sample module_api_global for hip-clang
module_api_global relies on a HCC only feature which allows host code
to write to device variables. This feature does not exist in CUDA
or hip-clang, which causes the sample not working in CUDA or hip-clang.

This patch fixes the sample by using standard features of CUDA and
hip-clang. The fixed sample works in HCC, CUDA and hip-clang.


[ROCm/clr commit: 98648828c0]
2019-07-02 16:36:53 -04:00
Jenkins d2ba54f50f Merge 'master' into 'amd-master'
Change-Id: I87a09730ec605e2bf13cde52ab5afb79eaeaaf64


[ROCm/clr commit: 54f0e508f9]
2019-07-01 02:12:30 -07:00
Jenkins bfab36ce80 Merge 'master' into 'amd-master'
Change-Id: Ied8c47046b006252096e0381960b62f5aa95d6d3


[ROCm/clr commit: 04cbe15857]
2019-06-29 21:09:16 -07:00
eshcherb 8b74b0e2b2 hip_api_name fixed to be inline to suppress not used warning (#1194)
[ROCm/clr commit: 0218f95c32]
2019-06-30 03:38:43 +00:00
Evgeny Mankov bd412c67b5 Merge pull request #1195 from emankov/master
[HIPIFY] Clang 7.1.0 support

[ROCm/clr commit: 54dab53c04]
2019-06-29 17:25:07 +03:00
Evgeny Mankov c4396a0aa0 [HIPIFY] Clang 7.1.0 support
+ Provide patch for clang's bug 38811
+ Update Readme.md accordingly


[ROCm/clr commit: b1bc9caef9]
2019-06-29 17:23:18 +03:00
foreman 1e4bf9558c P4 to Git Change 1917740 by cpaquot@cpaquot-ocl-lc-lnx on 2019/06/28 12:03:07
SWDEV-193938 - [HIP] RCCL test fails
	Set default stream to null-stream
	In hipStreamWaitEvent if event_ is null, get the last queued command instead.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_event.cpp#12 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_event.hpp#4 edit


[ROCm/clr commit: ccd7799ada]
2019-06-28 12:09:09 -04:00
foreman 8b83226662 P4 to Git Change 1917620 by yaxunl@yaxunl-lc10 on 2019/06/28 07:57:46
SWDEV-145570 - Fix device name mismatch.

	Not only gfx906 can have device name with +xnack etc.
	Other devices e.g. gfx900 could have that too.
	Make the previous fix more generic.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#33 edit


[ROCm/clr commit: 6768664780]
2019-06-28 08:06:23 -04:00
Anusha Godavarthy Surya 27722855b4 Added missing NULL checks
[ROCm/clr commit: 1a7c7e3b06]
2019-06-27 20:19:30 +05:30
Anusha Godavarthy Surya e643bae27d Added missing NULL checks and corrected API return values as per validation
[ROCm/clr commit: 4989452413]
2019-06-27 00:19:05 +05:30
Maneesh Gupta dc4b3289de Add dependency on amd_comgr in hip-config-*.cmake.in (#1179)
Change-Id: Ia12a40cd5c89920a50ec714ceae99f60259a6f66

[ROCm/clr commit: a90871aefe]
2019-06-26 15:18:11 +05:30
wkwchau 7662c1a650 Fixed bug in hipOccupancyMaxPotentialBlockSize for the SGPRs limitation of gfx8 devices (#1176)
[ROCm/clr commit: 3742f24477]
2019-06-26 15:18:00 +05:30
Maneesh Gupta 493e713fde [packaging] Add dependency on comgr to hip_hcc package (#1182)
[ROCm/clr commit: e0b86d890c]
2019-06-25 06:32:46 +05:30
Aaron Enye Shi 553caedb5c Fix dlpi_name info empty when using GCC on ub18 (#1181)
This fixes a bug where GCC++ on Ubuntu 18.04 creates failing executables compared to GCC++ on 16.04 and clang++. While creating function names on Ubuntu 18.04, dl_phdr_info seems to provide a non-zero value for dlpi_addr on initial iteration, and an empty string in dlpi_name. This is causing failure when linking with g++, since the empty string prevents the kernel function from being loaded. Clang++ and GCC on UB16 provide a zero value for dlpi_addr. To fix this, we need to verify both addr and name exists, so that /proc/self/exe can be properly loaded.

[ROCm/clr commit: f87b900f96]
2019-06-25 06:32:29 +05:30
Alex Voicu 1e12e00009 Put 3-wide vector types on a ketogenic diet. (#1180)
* Put 3-wide vector types on a ketogenic diet.

* Remove needless include.

* Do not be narrow-minded.

* Do not be narrow-minded.

* Put the C people on a diet too.


[ROCm/clr commit: 87eac86298]
2019-06-25 06:32:09 +05:30
Jenkins 4f33ad404b Merge 'master' into 'amd-master'
Change-Id: I81a373b1a9c149e96ede6c72a6c24d99171f8821


[ROCm/clr commit: 178f06d22f]
2019-06-23 11:47:24 -04:00
foreman 174a7bb72a P4 to Git Change 1879857 by gandryey@gera-win10 on 2019/06/20 18:06:07
SWDEV-184710 - Support hipLaunchCooperativeKernelMultiDevice()
	- Clean-up the loop for the launch on each device
	- Add hipExtLaunchMultiKernelMultiDevice()

	 http://ocltc.amd.com/reviews/r/17573/

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#29 edit


[ROCm/clr commit: bca0438b69]
2019-06-20 18:13:20 -04:00
Evgeny Mankov 38adb4f785 Merge pull request #1175 from emankov/LLVM
[HIPIFY] Fix multiple input files support

[ROCm/clr commit: 65e012e5b1]
2019-06-20 18:08:46 +03:00
Evgeny Mankov a8236c22ad [HIPIFY] Fix multiple input files support
Reported in #1168


[ROCm/clr commit: 266cf3cf96]
2019-06-20 18:05:57 +03:00
Aryan Salmanpour 362445220a [hip] implement the hipExtLaunchMultiKernelMultiDevice API (#1165)
* [hip] implement the hipExtLaunchMultiKernelMultiDevice API

* add a guard to check the HCC version for acquire_locked_hsa_queue() API which was introdued in HCC for ROCm 2.5

* modified code based on the requested changes

* changes to lock all streams before launching kernels for each device and unlock them after the dispatches

* check each stream to be valid before starting to lock all the streams


[ROCm/clr commit: d6ad690cb6]
2019-06-20 05:59:05 +05:30
wkwchau 81b5ea1c4a Implement the hipOccupancyMaxPotentialBlockSize function (#1162)
* Implement the hipOccupancyMaxPotentialBlockSize function

* Replaced hipGetDeviceProperties() call by ihipGetDeviceProperties() in ihipOccupancyMaxPotentialBlockSize()

* Add test for hipOccupancyMaxPotentialBlockSize in Module API

* Added extern declaration for ihipGetDeviceProperties() to be accessed inside ihipOccupancyMaxPotentialBlockSize()

* fixed hipOccupancyMaxPotentialBlockSize test build issue

* Fix hipOccupancyMaxPotentialBlockSize dtest

* Add BUILD_CMD in hipOccupancyMaxPotentialBlockSize dtest

* Revert "Add BUILD_CMD in hipOccupancyMaxPotentialBlockSize dtest"

This reverts commit 0480ff56f1441fc515d2c26ce33783e303423938.

* Disable hipOccupancyMaxPotentialBlockSize dtest on NVCC

* move extern declaration of ihipGetDeviceProperties to hip_module.cpp

* Update the limiation of 32 wavefronts per CU and 800/512 SGPRs for VI/pre-VI chips to calculate the occupancy


[ROCm/clr commit: 28c34ead70]
2019-06-20 05:58:29 +05:30
Maneesh Gupta 9ce31b041b Merge pull request #1164 from gargrahul/cleanup_module_api_samples
Add cleanup code in module api samples

[ROCm/clr commit: 439b6e41d4]
2019-06-20 05:57:46 +05:30
Maneesh Gupta c5a26eb941 Merge pull request #1173 from icarus-sparry/icarus-sparry-patch-1
Make hip_prof_gen.py compatible with both python 2 and 3

[ROCm/clr commit: 21d9875046]
2019-06-19 13:37:02 +05:30
Maneesh Gupta 78c1170131 Merge pull request #1171 from mhbliao/hliao/master/hipcc
[hipcc] Revise include path calculation.

[ROCm/clr commit: 3083337056]
2019-06-19 13:36:51 +05:30
Maneesh Gupta 0b3f5d4524 Merge pull request #1167 from eshcherb/hip_prof_refactoring_190611
prof layer includes refactoring

[ROCm/clr commit: 3b3118d459]
2019-06-19 13:36:33 +05:30
Maneesh Gupta f2ba4e98a1 Merge pull request #1163 from gargrahul/fix_module_api_kernarg_sample
Fix sample to use kernelargs for launch

[ROCm/clr commit: ad5a15debd]
2019-06-19 13:36:17 +05:30
Jenkins 91ed3d674a Merge 'master' into 'amd-master'
Change-Id: I640c6dfa3523f006ad0c2e05b325017609192484


[ROCm/clr commit: ff265232e4]
2019-06-18 20:54:26 -04:00
Icarus Sparry 16d9ded677 Make hip_prof_gen.py compatible with both python 2 and 3
Convert python 2 constructs to python 3 compatible ones.

In python 3, print is a function, so use write methods (which are always functions) instead.

In python3 keys() returns an iterator, rather than a list. This means you can't change the data structure that is being iterated over. Converting this iterator into a list mimics the python 2 behavior.

[ROCm/clr commit: 17bebbd0f2]
2019-06-17 12:03:36 -07: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
Rahul Garg effbc8b212 HACK for SWDEV-173477/SWDEV-190701
[ROCm/clr commit: 107734f7ad]
2019-06-13 18:15:31 -07:00
foreman c12f428d1a P4 to Git Change 1815357 by cpaquot@cpaquot-ocl-lc-lnx on 2019/06/12 16:24:09
SWDEV-192384 - [HIP] Fixed case where start and stop events are the same for ElapsedTime.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_event.cpp#11 edit


[ROCm/clr commit: 5bee4dfe90]
2019-06-13 15:40:39 -04:00
foreman 8b0eaa1c05 P4 to Git Change 1815283 by gandryey@gera-win10 on 2019/06/12 15:26:45
SWDEV-180872 - Runtime support changes for Cooperative Group Features
	- Correct the name in the def files

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.def.in#17 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.map.in#19 edit


[ROCm/clr commit: df1257741c]
2019-06-13 13:00:48 -04:00
foreman 072d96516e P4 to Git Change 1815146 by cpaquot@cpaquot-ocl-lc-lnx on 2019/06/12 13:43:33
SWDEV-192333 - [HIP] Implemented hipExtMallocWithFlags and hipExtGetLinkTypeAndHopCount

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_device_runtime.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.def.in#16 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.map.in#18 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#59 edit


[ROCm/clr commit: 752a4e57b6]
2019-06-13 12:47:17 -04:00
foreman 90dcff1345 P4 to Git Change 1809454 by kjayapra@0_HIPWS_TRT2_ROCM on 2019/06/11 17:45:36
SWDEV-191936 - Implementation of hipMemcpyPeer & hipMemcpyPeerAsync + fix to check source P2PAgents for P2P. RocM Verified.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_peer.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#76 edit


[ROCm/clr commit: 5c6b42efed]
2019-06-12 10:48:40 -04:00
foreman 76b1d242d2 P4 to Git Change 1809277 by gandryey@gera-win10 on 2019/06/11 17:34:13
SWDEV-180872 - Runtime support changes for Cooperative Group Features
	- Initial implementation of the core functionality. Disabled by default. Use GPU_ENABLE_COOP_GROUPS=1 to enable the feature.
	- Runtime uses device queue for cooperative executions with a synchronization on the launched queue.
	- The current implementation is pure runtime change and it can work if only one app uses this feature. No ROCr/KFD support was added or tested
	- Only inline assembler was tested

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_device.cpp#20 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_device_runtime.cpp#15 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.def.in#15 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.map.in#17 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#28 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#338 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#606 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#171 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.hpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#142 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.hpp#39 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palschedcl.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#135 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#61 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.hpp#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#127 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#37 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocschedcl.cpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#75 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.hpp#23 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.cpp#94 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.hpp#92 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#311 edit


[ROCm/clr commit: 623320cd93]
2019-06-12 10:00:38 -04:00
Evgeny 214c01e6bf prof layer includes refactoring
[ROCm/clr commit: c6600ba26b]
2019-06-11 20:13:29 -05:00
Rahul Garg ebd29537d0 Add cleanup code in module api samples
[ROCm/clr commit: 49ac54abde]
2019-06-07 05:23:11 +05:30
Rahul Garg 14f409548a Fix sample to use kernelargs for launch
[ROCm/clr commit: 4e6ad95403]
2019-06-07 05:17:15 +05:30
foreman 3bc1711330 P4 to Git Change 1792745 by vsytchen@vsytchen-remote-ocl-win10 on 2019/06/06 11:18:13
SWDEV-145570 - Simplify pinned memory allocation logic

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/17467/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#58 edit


[ROCm/clr commit: 5683d9d218]
2019-06-06 11:51:22 -04:00
Maneesh Gupta 9b478cb227 Merge pull request #1160 from mhbliao/hliao/master/explicit
[hip] Replace implicit conversions with explicit ones.

[ROCm/clr commit: 580f4a65b2]
2019-06-06 07:27:40 +05:30
Michael LIAO ef6ca030cb [hip] Replace implicit conversions with explicit ones.
[ROCm/clr commit: 4d5cf71c48]
2019-06-05 10:00:35 -04:00
Maneesh Gupta b4fb2b0ab4 Merge pull request #1140 from scchan/program_state_stage_2-rebase-20190524
migrate more program_state logic from header into shared library (phase II)

[ROCm/clr commit: 1d5d923d36]
2019-06-05 16:09:01 +05:30