提交線圖

5458 次程式碼提交

作者 SHA1 備註 日期
Evgeny Mankov 60a9143d6d [HIPIFY] Statistics to CSV file dumping revise
+ Add option -print-stats-csv to dump statistics to CSV file
+ If -o-dir is specified, CSV file will be dumped there
+ Generate 1 summary file sum_stat.csv in case of multiple sources
2019-07-07 20:55:17 +03:00
Jenkins 90ff0a2e5a Merge 'master' into 'amd-master'
Change-Id: Ie33c9467b47fc5d42da71b9bfc2932c26493f9f2
2019-07-04 10:56:44 -04:00
searlmc1 f3bbad0716 Fix typo ( T in Vec3_cmp = needs to be int ). (#1203)
Typo introduced here:
commit 87eac86298
Author: Alex Voicu <alexandru.voicu@amd.com>
Date:   Mon Jun 24 20:02:09 2019 -0500

    Put 3-wide vector types on a ketogenic diet. (#1180)
2019-07-04 00:44:26 +00:00
kpyzhov 43ffe25979 Change the type of hipTextureObject_t to pointer to a struct. (#1199)
This is necessary to allow Runtime to perform required texture buffer handling.
2019-07-04 00:44:06 +00:00
Jannik a401997b8e 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.
2019-07-04 00:43:22 +00:00
Aryan Salmanpour 7e48231252 [hip] Move _criticalData of ihipStream_t class to private section and use criticalData() to access it (#1177) 2019-07-04 00:42:19 +00:00
Jenkins 1c9776d712 Merge 'master' into 'amd-master'
Change-Id: I0230d43dca968ed6a8f7695064b98a3de703143d
2019-07-03 19:12:35 -04:00
foreman 270c652d0f 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
2019-07-03 14:51:15 -04:00
Maneesh Gupta 3541d18528 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.
2019-07-03 08:52:19 +00:00
Yaxun (Sam) Liu 3169f3a881 Add __hip_pinned_shadow__ for hip-clang and fix texture reference tests (#1200) 2019-07-03 08:51:59 +00:00
Maneesh Gupta a220a8e8e9 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
2019-07-03 08:51:39 +00:00
Jatin Chaudhary 3cb87cdc46 Adding new unroll example (#1187) 2019-07-03 08:51:19 +00:00
Yaxun Sam Liu 98648828c0 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.
2019-07-02 16:36:53 -04:00
Jenkins 54f0e508f9 Merge 'master' into 'amd-master'
Change-Id: I87a09730ec605e2bf13cde52ab5afb79eaeaaf64
2019-07-01 02:12:30 -07:00
Jenkins 04cbe15857 Merge 'master' into 'amd-master'
Change-Id: Ied8c47046b006252096e0381960b62f5aa95d6d3
2019-06-29 21:09:16 -07:00
eshcherb 0218f95c32 hip_api_name fixed to be inline to suppress not used warning (#1194) 2019-06-30 03:38:43 +00:00
Evgeny Mankov 54dab53c04 Merge pull request #1195 from emankov/master
[HIPIFY] Clang 7.1.0 support
2019-06-29 17:25:07 +03:00
Evgeny Mankov b1bc9caef9 [HIPIFY] Clang 7.1.0 support
+ Provide patch for clang's bug 38811
+ Update Readme.md accordingly
2019-06-29 17:23:18 +03:00
foreman ccd7799ada 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
2019-06-28 12:09:09 -04:00
foreman 6768664780 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
2019-06-28 08:06:23 -04:00
Anusha Godavarthy Surya 1a7c7e3b06 Added missing NULL checks 2019-06-27 20:19:30 +05:30
Anusha Godavarthy Surya 4989452413 Added missing NULL checks and corrected API return values as per validation 2019-06-27 00:19:05 +05:30
Maneesh Gupta a90871aefe Add dependency on amd_comgr in hip-config-*.cmake.in (#1179)
Change-Id: Ia12a40cd5c89920a50ec714ceae99f60259a6f66
2019-06-26 15:18:11 +05:30
wkwchau 3742f24477 Fixed bug in hipOccupancyMaxPotentialBlockSize for the SGPRs limitation of gfx8 devices (#1176) 2019-06-26 15:18:00 +05:30
Maneesh Gupta e0b86d890c [packaging] Add dependency on comgr to hip_hcc package (#1182) 2019-06-25 06:32:46 +05:30
Aaron Enye Shi f87b900f96 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.
2019-06-25 06:32:29 +05:30
Alex Voicu 87eac86298 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.
2019-06-25 06:32:09 +05:30
Jenkins 178f06d22f Merge 'master' into 'amd-master'
Change-Id: I81a373b1a9c149e96ede6c72a6c24d99171f8821
2019-06-23 11:47:24 -04:00
foreman bca0438b69 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
2019-06-20 18:13:20 -04:00
Evgeny Mankov 65e012e5b1 Merge pull request #1175 from emankov/LLVM
[HIPIFY] Fix multiple input files support
2019-06-20 18:08:46 +03:00
Evgeny Mankov 266cf3cf96 [HIPIFY] Fix multiple input files support
Reported in #1168
2019-06-20 18:05:57 +03:00
Aryan Salmanpour d6ad690cb6 [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
2019-06-20 05:59:05 +05:30
wkwchau 28c34ead70 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
2019-06-20 05:58:29 +05:30
Maneesh Gupta 439b6e41d4 Merge pull request #1164 from gargrahul/cleanup_module_api_samples
Add cleanup code in module api samples
2019-06-20 05:57:46 +05:30
Maneesh Gupta 21d9875046 Merge pull request #1173 from icarus-sparry/icarus-sparry-patch-1
Make hip_prof_gen.py compatible with both python 2 and 3
2019-06-19 13:37:02 +05:30
Maneesh Gupta 3083337056 Merge pull request #1171 from mhbliao/hliao/master/hipcc
[hipcc] Revise include path calculation.
2019-06-19 13:36:51 +05:30
Maneesh Gupta 3b3118d459 Merge pull request #1167 from eshcherb/hip_prof_refactoring_190611
prof layer includes refactoring
2019-06-19 13:36:33 +05:30
Maneesh Gupta ad5a15debd Merge pull request #1163 from gargrahul/fix_module_api_kernarg_sample
Fix sample to use kernelargs for launch
2019-06-19 13:36:17 +05:30
Jenkins ff265232e4 Merge 'master' into 'amd-master'
Change-Id: I640c6dfa3523f006ad0c2e05b325017609192484
2019-06-18 20:54:26 -04:00
Icarus Sparry 17bebbd0f2 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.
2019-06-17 12:03:36 -07: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
Rahul Garg 107734f7ad HACK for SWDEV-173477/SWDEV-190701 2019-06-13 18:15:31 -07:00
foreman 5bee4dfe90 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
2019-06-13 15:40:39 -04:00
foreman df1257741c 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
2019-06-13 13:00:48 -04:00
foreman 752a4e57b6 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
2019-06-13 12:47:17 -04:00
foreman 5c6b42efed 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
2019-06-12 10:48:40 -04:00
foreman 623320cd93 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
2019-06-12 10:00:38 -04:00
Evgeny c6600ba26b prof layer includes refactoring 2019-06-11 20:13:29 -05:00
Rahul Garg 49ac54abde Add cleanup code in module api samples 2019-06-07 05:23:11 +05:30
Rahul Garg 4e6ad95403 Fix sample to use kernelargs for launch 2019-06-07 05:17:15 +05:30