Commit Graph

11513 Commits

Author SHA1 Message Date
kjayapra-amd aee3cd1daa SWDEV-216213 - Delete kernel function_ in hip::Function destructor
Change-Id: I0f6c44927f453ac63b5b84552a5fba07f04a8a8e


[ROCm/clr commit: ac37f78acb]
2020-05-03 23:08:58 -04:00
Vlad Sytchenko e637f3f9da Fix invalid check in hipTexRefGetAddressMode()
This resolves https://github.com/ROCm-Developer-Tools/HIP/issues/2048.

Change-Id: Iba3653b011434a450a5c3ce10cfd4aa39d318527


[ROCm/clr commit: b848cf085a]
2020-05-03 14:48:32 -04:00
kjayapra-amd 895b4a8f5f SWDEV-231874 - Make hipMemset patten size 8byte aligned when possible
Change-Id: Ida98bd89212af9b00f3c9c7c5d22ae81f3b5396a


[ROCm/clr commit: 8d6478a051]
2020-05-01 23:04:04 -04:00
Alex Xie c9e54b7f60 SWDEV-221166 - Detect support for large bar access through HIP runtime API
Change-Id: Iaa9756c1b5e40c1ab5afb38e44a6699fa5f6c13f


[ROCm/clr commit: 044a7e55ad]
2020-05-01 20:39:52 -04:00
Michael Hong Bin Liao 3421f98c38 Merge "Fix more typos from 42f97026271e2e5f5ecc31fee64678346498e324." into amd-master-next
[ROCm/clr commit: a94de6d463]
2020-05-01 19:35:53 -04:00
agodavar 7da11623bd find_package(hip) changes for clang
Change-Id: I9dc1be1dd5f9424e26ebcd2961207e1c4467550f


[ROCm/clr commit: ce8a5af666]
2020-05-01 20:48:32 +00:00
Matt Arsenault 82ef40d75e Fix installing generated header to include/include
This isn't the ideal solution, but a lot more cleanups are needed for
how install is used.

Change-Id: I63a9c1a46d0da13ee4373038ece228005207271a


[ROCm/clr commit: 80bc98afee]
2020-05-01 12:43:49 -04:00
Michael LIAO 6989a83f35 Fix more typos from 42f9702627.
Change-Id: I75ed28a5862daffc0778910d7ba3b97f51a87949


[ROCm/clr commit: 6bfedf1a1d]
2020-05-01 12:19:30 -04:00
Matt Arsenault 487ba46b76 Don't directly link pthreads
This was already searching for the right threads library, but ignoring
the result.

Change-Id: I10d898245696135c1ef928c7715efce8ec6b939f


[ROCm/clr commit: 36432be962]
2020-05-01 08:28:36 -04:00
Matt Arsenault cfffa8ef84 Don't emit generated hip_prof_str.h to source directory
The build should never touch the source directory, and only write
generated files to the output directory.

Also track the dependency with a custom command and target, as is the
normal method for dependencies on generated files.

Change-Id: I9d835256c643aeef241d26ca05ab390ebba65111


[ROCm/clr commit: b618939e2e]
2020-05-01 08:24:56 -04:00
Chauncey Hui 14f81f64be SWDEV-2 - Change OpenCL version number from 3134 to 3135
[ROCm/clr commit: 6d0fa49c5d]
2020-05-01 03:00:03 -04:00
Payam 7eda01bab6 name change vdi to rocclr
Change-Id: I59650f7082dd118c1fe92309b76a5bdb20eee3c1


[ROCm/clr commit: 94b203235e]
2020-04-30 19:06:58 -04:00
Matt Arsenault 81e9bf3445 Find python to generate prof API headers.
Don't rely on shell commands. On Ubuntu 20.04, /usr/bin/python no
longer exists, so I'm seeing some failures from somewhere assuming the
path.

The top level CMakeLists also repeats exactly this, which should be
fixed.

Change-Id: I56b26742920f0dc40b363b409892bd41cfa485ef


[ROCm/clr commit: bd4ec781f2]
2020-04-30 18:21:03 -04:00
Aaron En Ye Shi 462b8f9369 Merge "Update hipcc to use HIP_COMPILER variable" into amd-master-next
[ROCm/clr commit: c1d5ba1d0a]
2020-04-30 17:31:33 -04:00
Michael Hong Bin Liao 40639abdaa Merge "[vdi] Skip null texture object in hipDestroyTextureObject." into amd-master-next
[ROCm/clr commit: 977efb14c6]
2020-04-30 16:07:58 -04:00
Aaron Enye Shi a5441b7c97 Update hipcc to use HIP_COMPILER variable
This will update the hipcc script so that it will use HIP_PLATFORM, HIP_COMPILER, and HIP_RUNTIME variables correctly based on updated hipconfig file.

Removing HIP_PLATFORM=clang, only use hcc and nvcc for now. HIP_PLATFORM should eventually switch to amd or nvcc.

Change-Id: Ie527d07a1add974cc3aab8e9f61b0518147d7602


[ROCm/clr commit: c729d52681]
2020-04-30 15:31:20 -04:00
German Andryeyev 6610976c7d Optimize synch operations
- Stall the queue only for HSA copy operations

Change-Id: Ia3debcc0f36284c5f8cd2776d31674f3aeed04ea


[ROCm/clr commit: 7302ebcfbc]
2020-04-30 11:17:48 -04:00
Alex Xie a97194485a SWDEV-232894 Port hipMemcpy optimizations from HCC to VDI
Apply the optimization to change for OpenCL too.
Clean up some unnecessary checks.

Change-Id: I840261fe35baeeadeba7388e86779d482f509aad


[ROCm/clr commit: 6c5a42b33c]
2020-04-30 11:06:28 -04:00
Chauncey Hui e853810230 SWDEV-2 - Change OpenCL version number from 3133 to 3134
[ROCm/clr commit: 1de8abd031]
2020-04-30 03:00:03 -04:00
Payam Ghafari 662485b575 Merge "renaming vdi to rocclr, part 1" into amd-master-next
[ROCm/clr commit: aa950adc73]
2020-04-29 19:42:20 -04:00
Vlad Sytchenko a11a651248 Merge branch 'amd-master-next' into amd-npi-next
Change-Id: Icd651e93f0c28eb2859f4997377379d0698ce84e


[ROCm/clr commit: e97809ca7a]
2020-04-29 18:54:58 -04:00
Vlad Sytchenko f48e51008c Fix order initialization warning
Change-Id: I77ddf1dbec2d11c273163efae6526d3deca92dbf


[ROCm/clr commit: d420baf664]
2020-04-29 18:52:41 -04:00
Laurent Morichetti 75b9fabedc Don't make a copy of the embedded device binaries
Embedded device binaries should not be cloned if we want the ROCR's
code object URI for this binary to point to the container (host
executable or shared library) instead of a memory location.

Depends-On: I7973bb0243f5a2d1b639b8a88445cfe6af919dd7
Change-Id: Id3afc981e027e5371114d011f2caaa6414f5fc58


[ROCm/clr commit: 4591b7469e]
2020-04-29 18:40:18 -04:00
Laurent Morichetti 963bae11a2 Make the device binary copy optional
Device binaries that are embedded inside the host binary do not
require a copy. Their lifetime is guaranteed to exceed that of the
loaded executable.

Add a 'make_copy' parameter to amd::Program::addDeviceProgram. If
make_copy is false the original image will be used and will not
get freed when the amd::Program is destroyed.

Change-Id: I7973bb0243f5a2d1b639b8a88445cfe6af919dd7


[ROCm/clr commit: 9e1964ddaa]
2020-04-29 18:39:57 -04:00
Payam 68c07279fb renaming vdi to rocclr, part 1
Change-Id: Idec9be2b6174217abcebaa1776e59168670740b1


[ROCm/clr commit: cb7d3227e8]
2020-04-29 17:54:37 -04:00
Saleel Kudchadker ea1c12b2b6 Fix error code when hipEventRecord is not called
Change-Id: I6672d4320280fd87fd2786bc54214d40944da845


[ROCm/clr commit: f52b2d4504]
2020-04-29 13:13:52 -04:00
Michael LIAO c8c52c59d4 [vdi] Skip null texture object in hipDestroyTextureObject.
- To match both CUDA and HCC runtime behavior.

Change-Id: I072b006dd554e17f8341f391d33bf6224a125a7e


[ROCm/clr commit: db4bcda1bf]
2020-04-29 12:20:42 -04:00
Christophe Paquot 2b3875882f Couple of cleanups.
Remove queue limitation since we loop through HW queues now.
Add a DevLogError if we fail to create the hsa_queue. A ticket showed a regression there.

Change-Id: I4f58e405f88e75600a762f6d6352838c969cdb5e


[ROCm/clr commit: b54c3f7db9]
2020-04-29 09:18:07 -07:00
German Andryeyev 632a78c104 Clean-up the list of blocking streams
- Insert the stream into the list on the host queue creation,
instead of stream creation

Change-Id: Ib25053019f7df97e5bc786922a6587b9514852d3


[ROCm/clr commit: bc65ca64fc]
2020-04-29 11:37:43 -04:00
Chauncey Hui bb295c0b67 SWDEV-2 - Change OpenCL version number from 3132 to 3133
[ROCm/clr commit: 860ba6f0a1]
2020-04-29 03:00:03 -04:00
Vlad Sytchenko f0fee110c1 Fix order initialization warning
Change-Id: I77ddf1dbec2d11c273163efae6526d3deca92dbf


[ROCm/clr commit: 89b9befe42]
2020-04-28 20:07:51 -04:00
Saleel Kudchadker 6b7c6748b1 Add a threshold for forcing ROCr to take blit path
This workaround is to avoid performance penalty of SDMA engine
taking a while to clock up from a lower DPM state. Add env var
GPU_FORCE_BLIT_COPY_SIZE (1024 by default for HIP in KB). Forcing
Src and Dst agent to be amdgpu makes ROCr take blit copy path for
what otherwise should have been SDMA copy

Change-Id: I222f687155f86000d17d66d25182e490b6710463


[ROCm/clr commit: 5f64e6e7ad]
2020-04-28 17:11:24 -04:00
Matt Arsenault e1961eac6b Use find_package to find rocclr
Maintain compatability with current hardcoded scheme for now for
commit order convenience.

Change-Id: I0b8299fceab1cc405ae5f26a129f2f1ea3d56773


[ROCm/clr commit: 585741a040]
2020-04-28 16:41:53 -04:00
Matt Arsenault 1cb198dba2 Avoid intermediate object library
Object libraries are weird, and producing a library by using the
target objects from them doesn't automatically import the interface
properties of the linked targets. These object libraries only have
single uses, so just directly create the final library from the
sources.

Leaves libelf as an object library, since there seems to be some cmake
oddity when trying to link an unexported target to an exported one.

Change-Id: Ic379612c89340c40085c9862cfe111fa4bbff425


[ROCm/clr commit: cba7a4d20e]
2020-04-28 16:41:34 -04:00
Vlad Sytchenko a646af408f Add entry for another unannounced asic
Change-Id: I63c6ce6221e812a33e9427841be49840a8f48154


[ROCm/clr commit: 2963d0d454]
2020-04-28 14:23:57 -04:00
Vlad Sytchenko dae0d59594 Add entry for new device id
This is accomodate upcoming Pal::AsicRevision changes.

Change-Id: Ic108b647f3548d34b7aa83d6077fb88452768998


[ROCm/clr commit: 63b90a32c4]
2020-04-28 14:23:49 -04:00
Payam 6aac9f836c updating package name to hip-rocclr instead of hip-vdi
Change-Id: Ife8810d4dd224ce29c2e2a827b221a618c9f1b3d


[ROCm/clr commit: bff03ec833]
2020-04-28 13:36:33 -04:00
Vlad Sytchenko edcaa80694 Handle copy cases where the uses pases a bad ptr
Change-Id: I4490b8519e4d0dde25b845f9ca7e81c1d80d4f28


[ROCm/clr commit: 518be44661]
2020-04-28 11:04:29 -04:00
Payam Ghafari efeee416a1 Merge "adding cltrace" into amd-master-next
[ROCm/clr commit: 10de80eb17]
2020-04-28 09:48:35 -04:00
agodavar d6275e96d9 P2PStating buffer allocation when P2P is not enabled between all GPUs
SWDEV-232580 & SWDEV-232580
Allocate p2p statging buffer when full P2P access is not available between all devices.
p2p staging buffer will eventually be used when required.

Change-Id: If8490ba7b1c52c432c1e942ae95421b9d2ec7097


[ROCm/clr commit: f149fe0803]
2020-04-28 07:10:57 -04:00
Payam caf39ab53f adding cltrace
Change-Id: I19b06f9a5954f317bbd00b5c2447ed5b6e9f30ae


[ROCm/clr commit: 50563e4544]
2020-04-28 05:49:30 -04:00
Chauncey Hui 0cd4c0bfcf SWDEV-2 - Change OpenCL version number from 3131 to 3132
[ROCm/clr commit: 27bfd2a3ee]
2020-04-28 03:00:02 -04:00
Freddy Paul 4e4d1b98f3 hip-on-vdi: Enable RUNPATH and versioning
1. Enable versioning for HIP libraries
2. Enable RUNPATH on HIP libraries to find ROCm dependencies
3. Control HIP package install using CPACK_INSTALL_PREFIX

Change-Id: I9096da56592e9c78cdba329011f6e1bae99adaa2


[ROCm/clr commit: 2a271dc418]
2020-04-27 19:48:44 -04:00
Alex Xie c158b9b3d0 SWDEV-232894 Port hipMemcpy optimizations from HCC to VDI
Change-Id: I6bebe9ac503a9f80d067aeea8a848409ad210338


[ROCm/clr commit: 009d0b5f55]
2020-04-27 14:53:58 -04:00
Aaron Enye Shi b1904716e1 Update hipconfig to support HIP-Clang
Add support for hipconfig to display details on HIP-Clang compiler and update HIP_COMPILER and HIP_RUNTIME to include clang and rocclr. Also, add hipcc flags --cxxflags and --ldflags to support HCC users who used hccconfig flags.

Change-Id: Ib12d81a4ff59d34fb000626836b1adb10be3ac61


[ROCm/clr commit: 2df5d92240]
2020-04-27 11:44:53 -04:00
Yaxun (Sam) Liu 6b0c1024c2 Let hipcc treats .cpp files as C++ files for HIP-Clang
This change is required by rocBLAS and rocFFT for OpenMP issue
since cmake needs to treat .cpp file as C++ program to detect
OpenMP support.

This is to match nvcc behavior, speed up compilation of C++
programs, and fix some compilation issue where C++ programs
are compiled as HIP programs.

Currently it is controlled by an environment variable
HIP_COMPILE_CXX_AS_HIP. By default it is 1, where
hipcc treats .cpp files as HIP programs. If it is
set to 0, hipcc will treat .cpp files as C++ programs.
This is because some math libraries are still not
ready for the change, however rocBLAS and rocFFT
require this feature for OpenMP, therefore put it
under an environment variable so that rocBLAS
and rocFFT can use it.

Change-Id: I56a51e27079df850ee39d4217fb647c22d79f612


[ROCm/clr commit: 4e7b1cdbd2]
2020-04-27 11:43:05 -04:00
kjayapra-amd 8070085d1c SWDEV-232008 - Handle cases where Memcpy size is less than Symbol Size.
Change-Id: I046bc70445dfd4f6fdfd06415f53d1fc06f425b4


[ROCm/clr commit: 19c654e794]
2020-04-27 10:47:28 -04:00
German Andryeyev 0567dd299a Don't attempt to reuse the cooperative queue
Change-Id: I0e98e292a562715a7b395118f899af859f3e42bb


[ROCm/clr commit: 082cbfa1f5]
2020-04-27 09:18:05 -04:00
root 6a7aa0c1c6 Merge master into amd-master-next
Change-Id: I3fc1dc0c860d627053537581e75561e8a7efe327


[ROCm/clr commit: b5031f39b1]
2020-04-26 22:19:37 +00:00
Chauncey Hui 4f9046b49b SWDEV-2 - Change OpenCL version number from 3130 to 3131
[ROCm/clr commit: d2091cc266]
2020-04-25 03:00:03 -04:00