Commit Graph

88 Commits

Author SHA1 Message Date
Sarbojit Sarkar b2b5a821df host pointer check [SWDEV-243104, SWDEV-243206]
Change-Id: Id58dabfe5c35e5f8e42d224e700a431a4a97d003
2020-07-14 07:16:12 -04:00
Tao Sang 66fca8be23 Implement HIP_ENABLE_DEFERRED_LOADING in right way
Change-Id: Ia28dbdea5cde93b3ca69f44c6a3c18ec8a730d42
2020-07-11 18:14:03 -04:00
kjayapra-amd 7233bb75da SWDEV-240165 - Move all amd::MemObjMap_ reference to ROCclr and only allow base ptr to get ipc handle.
Change-Id: I4f11e56ba455a7ce5a066c0e9e49657c5220a211
2020-07-09 21:19:50 -04:00
German Andryeyev b9b982247e Host device context should return a valid queue
Host memory allocations use shared device context, which allows
to have access from any device. That breaks default queue detection.

Change-Id: I27ad1234d49ab0ea8f5edd6f2e3ffa93c47d4b1f
2020-07-09 10:56:33 -04:00
Aryan Salmanpour 9121a74ac1 add an error message before aborting if a wrong GPU target was used for compilation
Change-Id: I7b41e93d420dbc47978238a681f2956a0def01cb
2020-07-07 14:50:44 -04:00
Jatin Chaudhary 24554e6755 Fix error: cannot pass object of non-trivial type string through variadic function when building in debug mode
Change-Id: Idd55ed422addc815fb56c57b05bd4afa9563f2ac
2020-07-06 00:48:40 -04:00
kjayapra-amd 6f15d8ca6b SWDEV-236178 - Fixing func_attributes that was over written on redesign.
Change-Id: I157913ae4fa4a3a149817e901f10475b7750188b
2020-07-01 11:52:45 -04:00
German Andryeyev f2102adc99 Remove hipMemcpyDeviceToDevice check.
There is hipMemcpyDefault that requires validation also.

Change-Id: I5ae0ffa1c023b7774547acbdc049b84a0c2cb4c5
2020-06-30 12:59:54 -04:00
Evgeny a19960e79a HIP-PROF: fixing pointers tracing
Change-Id: Id2c35972e1d134012980c95a3649ddfdf9303494
2020-06-23 14:02:35 -04:00
agodavar 93da1b1f11 SWDEV-239297:hipMemset fix, getMemoryObject with unaligned ptr
Change-Id: I37b8139c5099d37b42f34d728a3d694fdf9cb55d
2020-06-23 08:56:09 -04:00
German Andryeyev 44c1df802e Disable flush on marker
Change-Id: I04d0fd995fb4b29a6bc372e1543902a053017d6a
2020-06-22 13:27:39 -04:00
Tao Sang 0eebbb4f87 Fix static lib crashing issue
Initialize HIP_ENABLE_DEFERRED_LOADING = 1

Change-Id: I432ccf1926b953c4391fdd086cde7da2380962bb
2020-06-22 13:24:40 -04:00
Tao Sang 63051ca2e1 Support numa policy set by user
Add hipHostMallocNumaUser flag to hipHostMalloc() in order to support
numa policy set by user.

Change-Id: I6d70ed539a5f97f27187f2242b68849c0e27e4d6
2020-06-19 21:23:58 -04:00
Vlad Sytchenko e9033edc10 Correct texture element size calculations
hipChannelFormatDesc contains size of each channel in bits. There's 8 bits per byte, not 4, so we should divide by 8.

Change-Id: I38ae2d28ad54740823c98908ca2afecad0ba0183
2020-06-19 11:39:03 -04:00
Vlad Sytchenko 205e4c1c5f Support creating textures from user ptr with offset
Change-Id: Ied0af9a842fc6ef067e068a9d89dde63ff5dfce1
2020-06-17 14:10:14 -04:00
Vlad Sytchenko a6aef2a36a Fix -Wsign-compare warnings
Change-Id: I874dc007ac657c25a72c6752c1a2da74c028a822
2020-06-17 11:20:45 -04:00
Jason Tang 38cd2b96c7 Add asicRevision
Change-Id: I59f3ad20b9bdadf77bd1e0725f7a401d7ad423a3
2020-06-16 17:54:20 -04:00
Tao Sang 7682ec6a7b Make hipHostMalloc() respect hipSetDevice()
Change-Id: I2410240f91b108c24597ee0fa7cf31e7b1f3ac5d
2020-06-15 23:20:09 -04:00
kjayapra-amd 45e0847319 SWDEV-240589 - Remove guarantee @ __hipRegisterFunction flow for now.
Change-Id: Ic51e2a1f951ac7745c2bbd11cfd2b92521c6966a
2020-06-15 22:32:24 -04:00
Vlad Sytchenko f3480e019e Enable the use of some warnings when building HIP-ROCclr
Similar to http://gerrit-git.amd.com/c/compute/ec/vdi/+/375385, except no -Wno-strict-aliasing.

With this change only two warnings show up during the build - -Wsign-compare and -Wmisleading-indentation.

Change-Id: Iffa436c65ab6312aeaa6def71ee6af38ed1b4a4e
2020-06-15 20:33:30 -04:00
German Andryeyev f4211c3905 Initial support for HIP managed memory
- Call the new ROCclr interfaces for HMM

Change-Id: I2cd1bf438f712a9e9e328340e7d0c025257ca6c1
2020-06-15 18:10:41 -04:00
Aryan Salmanpour 17102ff3a1 expose five missing memcpy hip APIs
exposing the following hip APIs which have been previously implemented:

hipMemcpy2DFromArray
hipMemcpy2DFromArrayAsync
hipMemcpyAtoH
hipMemcpyHtoA
hipMemcpyParam2DAsync

Change-Id: I3f8635bd4265d2bf5aa2084f4eabb51f74fb18ba
2020-06-15 12:30:31 -04:00
kjayapra-amd 173bb2af6e SWDEV-236178 - Store texture reference metadata for dynamically loaded modules.
Change-Id: I99ecc80da7e29c691341a01a09e4532972f1e3e5
2020-06-11 22:34:50 -04:00
kjayapra-amd 20f05c4228 SWDEV-236178 - Reorganizing Platform/Modules code for easy access.
Change-Id: Ie8920260ffc4ff01e44b48af8cec9ea5aed1aa9b
2020-06-11 10:11:20 -04:00
jujiang c54590ebbd Fix for SWDEV-239415 to handle hipGetDevice properly while no GPU present
Change-Id: I252cbbf9a89fc76fe1be1fbb8f45778e96c70fb2
2020-06-10 14:18:56 -04:00
kjayapra-amd 2f8e180f01 SWDEV-231701 - Remove amd::memory->svm_ptr from MemObj, instead of the ptr to the object.
Change-Id: I5aab450a2320cfa5417c284e2a8454102df6f99d
2020-06-10 11:49:02 -04:00
Christophe Paquot c8f9afa9da Do not deferred stream creation now that we multiplex HW queues
SWDEV-239856

Change-Id: I156650faf832f86891f00ee167269509edd844ec
2020-06-09 19:16:25 -04:00
Saleel Kudchadker 2e8c1e9f24 Modify HIP_RETURN to print useful details
Change-Id: I23892c2d9a738b0298cdf24106d688a792937c73
2020-06-06 02:05:21 -04:00
kjayapra-amd 421bc7dfcb SWDEV-239327 - Remove amd_mem_obj during unregistervar
Change-Id: I2130eaa21369b9634a9459680061138c61eaaaa4
2020-06-05 23:24:38 -04:00
kjayapra-amd 348066d21f SWDEV-235295 - Move addDeviceProgram() to lazy loading
Change-Id: I8fe07e370e58844496e18c858bb528393556854f
2020-06-05 18:03:32 -04:00
Jason Tang 1c0d737e1f SWDEV-227909 - Add gcnArchName
Change-Id: Iea6d16b5d693dd0d900fa424d7a321c39315430e
2020-06-05 15:33:55 -04:00
kjayapra-amd 8941d19fe8 SWDEV-234295 - Pass flag to ROCclr to not clear device programs during program::build()
Change-Id: I50b9fa1a96da6895f73fdf4a7c0d3f096b1188da
2020-06-05 09:53:11 -04:00
Aryan Salmanpour 1bb86658cc Add support for setting hip stream priority
this change follows CUDA convention where lower number is greater priority

Change-Id: I72596a36449e818cbd8c175bf8519c51f46b1610
2020-06-04 22:50:30 -04:00
Payam a524f13c97 Observed softhang while running hipStreamAddCallbackCatch SWDEV-236746
Workaround hipStream deadlock issue as the same lock was used twice SWDEV-236746

Change-Id: Icc60104ce6edf4cfd2a3a889bab78a6caadd50b7
2020-06-04 14:11:22 -04:00
Evgeny cad3f805c0 adding hipGetStreamDeviceId() profiling API
Change-Id: I5ccf88ddac123260d7c17defefcf20ff3b2504e2
2020-06-03 18:57:49 -04:00
Jatin 2d517fdcc6 Adding changes for hipExtLaunchKernel for rocCLR
Change-Id: Iba52bc3bde7c37f3fb375a55ba0947e87b3cdc9b
2020-06-02 14:16:41 -04:00
Aryan Salmanpour 4a1536701f Add support for missig hipStreamGetPriority API
Change-Id: I2be4b055e5f977eb6ecad0b1f5f9535e72345fe7
2020-06-01 13:33:14 -04:00
agodavar 39ee03f64c hipMemset dont enqueue command if size bytes is 0
Change-Id: I63bf896f9f23edf254acdf7a8c11c92f8b5ac039
2020-05-30 10:33:44 -04:00
kjayapra-amd aae3e13296 SWDEV-229840 - fixing return HIP_RETURN instances in hip.
Change-Id: I48763d7268bf5649bf2242c962c185f5f4af159c
2020-05-29 09:43:58 -04:00
Christophe Paquot 7e57136aba Revert "Call notifyCmdQueue when building the event wait list"
This reverts commit 3ba07f5e3c.

Reason for revert: better fix in ROCclr

Change-Id: I9707e69adf42a662c08fe9b3ec7458655d838bdd
2020-05-28 17:01:10 -04:00
kjayapra-amd 0599855f0d SWDEV-233927 - Crash if binary for current device is not found.
Change-Id: I57281ae6c09110f39155664fca5a83ea57bb62b4
2020-05-28 16:18:27 -04:00
Joseph Greathouse 1f25e4956c Fix a build error on signed/unsigned comparison
Change-Id: Ic79eb4c3ec5c6fd36cea7c4810d990619f08b9e1
2020-05-28 14:27:16 -05:00
kjayapra-amd db972c4f2a SWDEV-236465 - Return error code as soon as global creation fails.
Change-Id: I790b8b4fdd6ab8818bc5b6b9a79e6900b840372d
2020-05-28 13:28:23 -04:00
Joseph Greathouse ebe5054e04 Fix occupancy calculation functions in ROCclr path
The hipOccupancyMaxPotentialBlockSize API is meant to return the
number of threads for the highest-occupancy workgroup, and the number
of those workgroups. It was previously calculating the number of
maximum-sized workgroups that would fit on a single CU. This is
a mixture of the API we wanted (to calculate max potential block size)
and the MaxBlocksPerMultiprocessor function.

This patch fixes it up so that the internal occupancy calculation
function works for two uses: the traditional function that calculates
the maximum blocks per multiprocessor when a user passes in a fixed
block size (used for hipMaxBlocksPerMultiprocessor style functions)
and a function that calculates the size of a block that would lead
to maximum occupancy, and how many blocks of that size would be
needed to fill the whole GPU (for hipOccupancyMaxPotentialBlockSize
style functions).

This also updates the occupancy calculation function to prepare for
gfx10, which does not have SGPR-based occupancy limits.

Change-Id: Ie007b3f9d5ebc4e166b50a3a051498af35650f35
2020-05-28 10:22:10 -05:00
Evgeny ef7ff69ff0 adding hipKernelNameRefByPtr function
Change-Id: Iefc18967b10394b85a207ffdb5bbfe5e3601474d
2020-05-28 10:59:48 -04:00
Saleel Kudchadker fb2d7bcd2b Fix elapsed time calculation for null stream
SWDEV-237377 - This fixes time calculation where the event may
be recorded on Null stream and work submitted on other streams

Change-Id: Ie36310dea5cee2fed4a514ed01f04db4b47e571c
2020-05-27 18:42:07 -04:00
Christophe Paquot 3ba07f5e3c Call notifyCmdQueue when building the event wait list
SWDEV-237846

Change-Id: I8bf70e7ad19903767a080d8c6e516c83b0dc2545
2020-05-27 12:53:46 -04:00
Christophe Paquot f7ed87b02b hipDeviceSynchronize needs to sync NonBlocking streams as well
SWDEV-237167

Change-Id: Ie916d8f03ce91e8ef05a2b4edc580a7021520f6f
2020-05-26 17:59:22 -04:00
Evgeny f9e086ae8a hip_prof: fixing printing pointer args
Change-Id: I93969723650f7c29d5c00a3809d3701c6a3dca44
2020-05-25 13:17:16 -04:00
kjayapra-amd b44ae437bc SWDEV - 237467 - Return proper hip error codes incase of ROCclr IPC API failures.
Change-Id: I2cc8da543f70bb3d8b82520fa9b2f509d20ce3c0
2020-05-23 10:51:37 -04:00