Commit Graph

117 Commits

Author SHA1 Message Date
Jason Tang 30e36a4925 Get gpu asicRevision_
Change-Id: I8afb53e027d912843655823eebaec29901c33d28
2020-06-12 14:51:52 -04:00
German Andryeyev c5afd5d412 Initial HMM support
- Expose ROCclr interfaces for HIP usage
- ROCr interfaces aren't available in staging, thus control the
build with AMD_HMM_SUPPORT define

Change-Id: Iadc2bcc230e78d3b0dc22b235189c8cc80843446
2020-06-12 09:06:07 -04:00
Rahul Garg 617538074c Fix IPC create memory failure
ROCr expects granular size in hsa_amd_ipc_memory_create

Change-Id: I7c266aa2eef8304f105298a7a668f4c4b3fb5f5a
2020-06-11 13:02:54 -04:00
Saleel Kudchadker 2b771d2f5f Add logging support for AQL packet
Use AMD_LOG_LEVEL=4 and AMD_LOG_MASK=8 to print AQL log
explicitly
Change-Id: I4209d91b460e64be44261d3ab773580067e47c29
2020-06-10 14:04:47 -07:00
Aryan Salmanpour 5203c5271b reuse available queue with the same priority if queue creation fails
Change-Id: I1522935ce1a73c4724135668d039e88a9097710b
2020-06-09 17:56:18 -04:00
Aryan Salmanpour 1d938697a1 fix a build error on TeamCity due to order of initialization in rocm Device class
Change-Id: I2e45e71e53272b7a7813422d3b949e3835077ab0
2020-06-08 13:56:39 -04:00
kjayapra-amd 1b0882e061 SWDEV-239327 - Dont call hsa_amd_memory_pool_free from ~amd::Memory() for obj created by passing devptr.
Change-Id: I315fd502df6bb1bf66dd24eac9325f1439e432ad
2020-06-05 18:42:03 -04:00
German Andryeyev 3828a61413 Make sure runtime sync before CPU access
Change-Id: I52882788ded187b3f735257a188b1b08d8502147
2020-06-05 12:00:08 -04:00
German Andryeyev 86e0f337fc Add the sync of the current queue
Make sure runtime waits for the current queue before
synching with device queue

Change-Id: I753b6fc0bb15a3a3d4bf03fef1152842550850c0
2020-06-05 11:57:59 -04:00
kjayapra-amd 1982c16e46 FEAT-30761 - Adding defaults to all Switch cases in PalDevice gfx detection.
Change-Id: Ic998dba44d3287484d6b0da4f07f320de8e6d92b
2020-06-04 20:49:58 -04:00
Aryan Salmanpour b5552aa97f Add support for setting queue priority for ROCm backend
Change-Id: I67ed5a6868af79538f7f4522d8d11c043cdf3c1e
2020-06-04 20:16:32 -04:00
Saleel Kudchadker d8ca3c632c Set hidden mem witholding to 0 by default
TF doesn't reserve all available memory now. If any
client wants to reserve they can explicitly set
HIP_HIDDEN_FREE_MEM env var
Change-Id: Ied3a948b79f49aa7327f6a820e9789e39cec143b
2020-06-04 14:37:40 -04:00
Saleel Kudchadker 2b6fea4348 Fix a potential mem leak
If a offset of the pointer is passed to free it may release
the mem object but may not release from MemObjMap. Erase the map
by getting the parent pointer.
Change-Id: I06b92548de2d49b4029efe6b511329225007cc55
2020-06-04 14:05:11 -04:00
Vlad Sytchenko 3a84fcd13e Handle the option USE_COMGR_LIBRARY correctly
This is a follow up to http://gerrit-git.amd.com/c/compute/ec/vdi/+/359563. The setting is now either ON or OFF, never "yes".

Change-Id: I031d013a8d239dc72ef610da81bd31b8b78a3ba8
2020-06-03 17:25:47 -04:00
Tao Sang fabfc42b68 Fix TC linux build issue due to previous Numa patch
Change-Id: I6068edaf38cac6fad187c8429707afdb727e8d41
2020-06-03 16:42:53 -04:00
Tao Sang aedb9590be Support Numa-aware cpu selection
Select cpu in terms of the smallest Numa distance for a GPU device.
This will improve performance of hipMemcpy in the mode of
hipMemcpyHostToDevice or hipMemcpyDeviceToHost for small buffer.
`

Change-Id: I2860f1f83b79be0dff7bf5e64cf68ab4448db0a1
2020-06-01 21:01:24 -04:00
German Andryeyev fb401bfe6d Revert "Revert "Reenable cooperative groups""
This reverts commit abc115bda8.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I93c45fae27e0a08b199542d44fb0d65fc74ea13c
2020-05-25 14:11:58 -04:00
kjayapra-amd 3603272d24 SWDEV-237467 - Adding return type to comply with -Wall compiler flag.
Change-Id: I3c9935105ef262cdbf1c8ee293930b018be0197a
2020-05-23 14:22:54 -04:00
kjayapra-amd ea0137fb22 FEAT-30761 - Fixing fall through in gfxip major/minor detection.
Change-Id: Ib97b3dbe993e01df3360cbeda6bd0d9d366535b6
2020-05-23 12:42:44 -04:00
kjayapra-amd 53a890b499 SWDEV-237467 - Return proper hip error codes incase of ROCclr IPC API failures.
Change-Id: I1d018918ed71f6d80846b3017f7a15f4ab496554
2020-05-22 22:10:15 -04:00
kjayapra-amd 618d66b5fe SWDEV-236110 - Fixing uninitialized variable.
Change-Id: I26a2a6826da643b57da9746e3ce888a46c4e78f4
2020-05-22 20:40:24 -04:00
kjayapra-amd 32043017ed SWDEV-229840 - Remove false error messages.
Change-Id: I0346768a2a52913d5330bc2007a7706e2a439c47
2020-05-22 18:18:41 -04:00
Aryan Salmanpour fec4adfd19 check for valid queue before accessing cuMask()
Change-Id: I8d4b0dbcd097c2ec5c31dea5a3d0060f0864a7e8
2020-05-20 16:23:09 -04:00
German Andryeyev f56a052243 Add missing memory allocation in printf
Change-Id: I452b676612b54f70106e7ef1bcb5ce2baf7b3ffc
2020-05-20 14:49:59 -04:00
Alex Xie 966448c53b Fix compile error in certain version of GCC
Change-Id: I27f021db908bf114a685427a47cd9f0d6b2e5693
2020-05-20 13:13:55 -04:00
German Andryeyev 2ce6bbebc4 Fix async mem clear
Optimization for the fence release removed a sync for mem fill.
Add simple const buffer management forr the filled pattern to avoid
pattern overwriting with the async fills.

Change-Id: I63773ac09ceec31d5396d24570e4647ff096326b
2020-05-20 11:13:41 -04:00
Chauncey Hui 0af9c06968 Modified IpcDetach to return status instead of void.
Change-Id: I68ed94b93f0383babe25eb046b4047d249a0fdc1
2020-05-20 03:38:21 -04:00
Matt Arsenault 1d267c9c08 Remove include/ from #includes
These are unnecessary and an obstacle to producing a relocatable
package.

Change-Id: I0059bf7a2d11fcece0cd7ab47d7545d0df4d7099
2020-05-19 19:35:09 -04:00
Aakash Sudhanwa abc115bda8 Revert "Reenable cooperative groups"
This reverts commit 82dc1a6343.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I8954b37c354382804a139d80e2551c381fd9b2ed
2020-05-19 18:21:48 -04:00
Jason Tang cd2a713d63 Add major/minor/stepping to device layer
Change-Id: If82ea55a46b166b243a98089a6e9c40ccfdb479f
2020-05-17 12:57:34 -04:00
Jason Tang 9b5e1fec6c Correct the way to get subtarget
Change-Id: I47805424c0bd69547cff0ab71c369552016052b5
2020-05-15 17:18:39 -04:00
Aryan Salmanpour fed94b8604 Add support for setting CU mask on ROCclr for ROCm backend
Change-Id: I0dbe2eeb33467fc0f24b26929119c10e9b455da7
2020-05-15 14:23:43 -04:00
German Andryeyev 82dc1a6343 Reenable cooperative groups
Change-Id: Ia43049ef550bffa6d21704dbd306ddb9c1d56af0
2020-05-15 12:41:12 -04:00
Christophe Paquot 6a5af4056e Use system scope for packet following sdma copies
SWDEV-234947
SWDEV-236298
Instead of forcing a barrier packet, just inject system scope on the next packet.

Change-Id: If9bcee23e08dfe5db731235e2fcb30582cbd4c1c
2020-05-15 12:20:06 -04:00
Matt Arsenault 3624b8df16 Fix missing target includes for GL/EGL headers
Change-Id: I9a31eae40cb7187dd0264ad5b9577fab96464b41
2020-05-14 16:56:34 -04:00
Matt Arsenault 3a7f2e3682 Improve usage of target_include_directories
Eliminates most of the global include_directories. The install header
paths are different from the build directory, so we have to separate
those for the exported target include paths.

Change-Id: I13e4c56c1218cb31c29a316422dc5fd1d09d8b1b
2020-05-13 17:25:58 -04:00
Vlad Sytchenko 614aaa8409 Load versioned comgr library
Change-Id: I4cc81f33e6889ac81a82747159bc210256f33c21
2020-05-13 16:46:35 -04:00
German Andryeyev 8904848abc Set CPU access flag for SVM
Make sure all GPUs have CPU access flag for the fine grain buffer.

Change-Id: Ifc843c2807e70a271b269192ae7859205ff458f3
2020-05-13 16:05:46 -04:00
German Andryeyev d2b9a57c4f Disable cooperative groups support
Change-Id: I1b526f2228d083ecad7907a6eaf37c1dd4428277
2020-05-12 14:31:10 -04:00
Saleel Kudchadker d10d691e76 Add env var to toggle large bar support in runtime
Use ROC_ENABLE_LARGE_BAR (0/1) to toggle. The support is
enabled by default.

Change-Id: I6cb93a46594cb6f5e90bf6057738330225efb553
2020-05-12 13:20:06 -04:00
Jason Tang b4f1239f34 device/rocm: split gfxVersion to major/minor/stepping
Change-Id: I1e437eaee30794147713d9516229211670f01d90
2020-05-12 12:17:13 -04:00
German Andryeyev ae4aceb55e Make sure the list of HSA agents is valid
If HIP_VISIBLE_DEVICES is active, then make sure the list of HSA
agents contains the valid agents

Change-Id: I584aad999a230ab7f88a0cfe20dcd0abe79c43a5
2020-05-11 15:49:30 -04:00
Christophe Paquot 3ed185307e Fix cooperative flag for hsa_queue creation in case they're not available
SWDEV-233766

Change-Id: If410ecfed61f2b3bb50b847cf2ededc573139494
2020-05-11 13:40:50 -04:00
Christophe Paquot 2a02026696 Add gpu().hasPendingDispatch() in the SDMA path
SWDEV-234947

Change-Id: I8aa501f8755d136708b0d12ee3c30229c238660d
2020-05-08 18:19:51 -04:00
Michael LIAO 12fcfee41d Fix build failure.
- Also fix `-Wreorder` warning. NFC.

Change-Id: I766fdc622c9107f901a55498bdc8fef3d821d1b7
2020-05-07 10:39:10 -04:00
Michael LIAO 503ef06555 Clear executable permission.
Change-Id: Ia0d363b1ba89d7947e5b5a55cb67edba86f0515e
2020-05-07 10:38:58 -04:00
German Andryeyev 3446d4e638 Switch PAL version to 592
Change-Id: I7e90b8fd55c57d8d49e4ec1273ab671f96197bae
2020-05-06 14:51:32 -04:00
Payam d6100a9547 name change vdi to rocclr
Change-Id: I856d6ac1a9a83d89715d6e33dec4aa17abc2f2f2
2020-05-06 00:54:45 -04:00
Alex Xie bfbc8cd09b SWDEV-234684 - hipmemcpy optimization does not work in tests
Change-Id: I899d172c5b2af88c796fe9a36f97d15ac45caf94
2020-05-05 15:58:03 -04:00
Saleel Kudchadker 0fbc0a895b Disable small copy optimization for now
Change-Id: Ib7a4aa676bb60940e067c985eb19070bd63b2fc2
2020-05-05 11:52:42 -04:00