Commit graph

88 Commits

Autor SHA1 Nachricht Datum
Sarbojit Sarkar 9ba3732180 host pointer check [SWDEV-243104, SWDEV-243206]
Change-Id: Id58dabfe5c35e5f8e42d224e700a431a4a97d003
2020-07-14 07:16:12 -04:00
Tao Sang 19d6a646bb Implement HIP_ENABLE_DEFERRED_LOADING in right way
Change-Id: Ia28dbdea5cde93b3ca69f44c6a3c18ec8a730d42
2020-07-11 18:14:03 -04:00
kjayapra-amd ff36244b9c 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 ef75a3c1db 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 8f862becd0 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 3173dbdec0 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 2f963728f7 SWDEV-236178 - Fixing func_attributes that was over written on redesign.
Change-Id: I157913ae4fa4a3a149817e901f10475b7750188b
2020-07-01 11:52:45 -04:00
German Andryeyev 11b7842f71 Remove hipMemcpyDeviceToDevice check.
There is hipMemcpyDefault that requires validation also.

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

Change-Id: I432ccf1926b953c4391fdd086cde7da2380962bb
2020-06-22 13:24:40 -04:00
Tao Sang 71c64e98a0 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 81b15ed36e 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 ba2d3fbbb3 Support creating textures from user ptr with offset
Change-Id: Ied0af9a842fc6ef067e068a9d89dde63ff5dfce1
2020-06-17 14:10:14 -04:00
Vlad Sytchenko 8db45328d9 Fix -Wsign-compare warnings
Change-Id: I874dc007ac657c25a72c6752c1a2da74c028a822
2020-06-17 11:20:45 -04:00
Jason Tang 8933c078f6 Add asicRevision
Change-Id: I59f3ad20b9bdadf77bd1e0725f7a401d7ad423a3
2020-06-16 17:54:20 -04:00
Tao Sang 63ce69224a Make hipHostMalloc() respect hipSetDevice()
Change-Id: I2410240f91b108c24597ee0fa7cf31e7b1f3ac5d
2020-06-15 23:20:09 -04:00
kjayapra-amd 2467e37f3f SWDEV-240589 - Remove guarantee @ __hipRegisterFunction flow for now.
Change-Id: Ic51e2a1f951ac7745c2bbd11cfd2b92521c6966a
2020-06-15 22:32:24 -04:00
Vlad Sytchenko 509a38f50c 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 b182ad9574 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 02c62165b8 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 0b788c4c67 SWDEV-236178 - Store texture reference metadata for dynamically loaded modules.
Change-Id: I99ecc80da7e29c691341a01a09e4532972f1e3e5
2020-06-11 22:34:50 -04:00
kjayapra-amd 840347f0d0 SWDEV-236178 - Reorganizing Platform/Modules code for easy access.
Change-Id: Ie8920260ffc4ff01e44b48af8cec9ea5aed1aa9b
2020-06-11 10:11:20 -04:00
jujiang bb32492438 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 9ff22151d2 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 20ae4d709f 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 fbba37070c Modify HIP_RETURN to print useful details
Change-Id: I23892c2d9a738b0298cdf24106d688a792937c73
2020-06-06 02:05:21 -04:00
kjayapra-amd ee2ff4bc5e SWDEV-239327 - Remove amd_mem_obj during unregistervar
Change-Id: I2130eaa21369b9634a9459680061138c61eaaaa4
2020-06-05 23:24:38 -04:00
kjayapra-amd 1dc24194a3 SWDEV-235295 - Move addDeviceProgram() to lazy loading
Change-Id: I8fe07e370e58844496e18c858bb528393556854f
2020-06-05 18:03:32 -04:00
Jason Tang 14c699e9de SWDEV-227909 - Add gcnArchName
Change-Id: Iea6d16b5d693dd0d900fa424d7a321c39315430e
2020-06-05 15:33:55 -04:00
kjayapra-amd 9261a35be9 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 83b8e1fbac 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 f3ee29cdb2 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 0c0a8fc108 adding hipGetStreamDeviceId() profiling API
Change-Id: I5ccf88ddac123260d7c17defefcf20ff3b2504e2
2020-06-03 18:57:49 -04:00
Jatin 126573df4c Adding changes for hipExtLaunchKernel for rocCLR
Change-Id: Iba52bc3bde7c37f3fb375a55ba0947e87b3cdc9b
2020-06-02 14:16:41 -04:00
Aryan Salmanpour bf11ffd175 Add support for missig hipStreamGetPriority API
Change-Id: I2be4b055e5f977eb6ecad0b1f5f9535e72345fe7
2020-06-01 13:33:14 -04:00
agodavar 3375920638 hipMemset dont enqueue command if size bytes is 0
Change-Id: I63bf896f9f23edf254acdf7a8c11c92f8b5ac039
2020-05-30 10:33:44 -04:00
kjayapra-amd ab17b43d45 SWDEV-229840 - fixing return HIP_RETURN instances in hip.
Change-Id: I48763d7268bf5649bf2242c962c185f5f4af159c
2020-05-29 09:43:58 -04:00
Christophe Paquot dfec136725 Revert "Call notifyCmdQueue when building the event wait list"
This reverts commit 1cfc9d1860.

Reason for revert: better fix in ROCclr

Change-Id: I9707e69adf42a662c08fe9b3ec7458655d838bdd
2020-05-28 17:01:10 -04:00
kjayapra-amd f2899243f3 SWDEV-233927 - Crash if binary for current device is not found.
Change-Id: I57281ae6c09110f39155664fca5a83ea57bb62b4
2020-05-28 16:18:27 -04:00
Joseph Greathouse 766e708535 Fix a build error on signed/unsigned comparison
Change-Id: Ic79eb4c3ec5c6fd36cea7c4810d990619f08b9e1
2020-05-28 14:27:16 -05:00
kjayapra-amd 55cdef8e45 SWDEV-236465 - Return error code as soon as global creation fails.
Change-Id: I790b8b4fdd6ab8818bc5b6b9a79e6900b840372d
2020-05-28 13:28:23 -04:00
Joseph Greathouse 90453b68d3 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 d863edb8ba adding hipKernelNameRefByPtr function
Change-Id: Iefc18967b10394b85a207ffdb5bbfe5e3601474d
2020-05-28 10:59:48 -04:00
Saleel Kudchadker facb05495f 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 1cfc9d1860 Call notifyCmdQueue when building the event wait list
SWDEV-237846

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

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