Commit-Graf

25 Incheckningar

Upphovsman SHA1 Meddelande Datum
Joseph Greathouse 449e2c931b Fix maxSharedMemoryPerMultiProcessor attribute (#1927)
The maxSharedMemoryPerMultiProcessor attribute is meant to describe
the number of bytes of shared memory (LDS space in AMD terminology)
in each SM (CU in AMD terminology). For instance, on AMD GPUs this
is often 64KB per CU, and some Nvidia GPUs it's 96KB per SM.

This shared memory is a different address space from the normal
global memory. However, the current HIP-HCC properties fill this
in with a size that matches the totalGlboalMem property. This gives
a drastically too-high calculation for the amount of LDS space that
each CU has -- tens of GBs vs. 10s of KBs.

This patch fixes this by pulling the maxSharedMemoryPerMultiProcessor
property from the HSA pool that describes how much workgroup-local
space is available on each CU. The HSA runtime eventually pulls
this from the topology information about LDSSizeInKB, defined as
"Size of Local Data Store in Kilobytes per SIMD".

Previously, this HSA query was used to fill in the value of the
sharedMemPerBlock property. On today's AMD GPUs, we know that
the amount of LDS avaialble to the workgroup is identical to the
amount of LDS space in the CU. However, in the future this may
differ. As such, this patch changes around the order and fills
in the "PerMultiProcessor" property from the HSA query (since
what's what the query is defined to return), and then separately
fills in the "PerBlock" property as we know it.
2020-03-17 14:00:51 +05:30
Sarbojit2019 bd535ca14b Added missing device prop fields into hipInfo sample (#1357)
* Added prop.integrated into hipInfo sample

* Added missing deviceProp fileds in hipInfo
2019-08-23 09:21:47 +00:00
chrispaquot cb0a3ca5bc Set device before processing each one (#1358) 2019-08-23 09:19:50 +00:00
Evgeny Mankov f5f240744a [HIP][tests] Copyright notice update 2019-05-20 18:46:23 +03:00
Maneesh Gupta 6b09bde675 Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
2018-03-12 11:29:03 +05:30
Aditya Atluri 98905a7272 automate gcnarch detection
Change-Id: Ibbad22db136f7f5e2be84c82e9169298a144cc77
2017-06-29 12:01:40 -05:00
Ben Sander cee24a20f2 Print limits on CUDA devices 2016-12-16 08:55:11 -06:00
Ben Sander ab73e76987 Print non-peers too
Change-Id: I2a6905edcdf144aa732ae3120c17780477f232ac
2016-11-04 06:34:07 -05:00
Maneesh Gupta a46e251daf samples: Updated copyright header
Change-Id: I821f514ced5e34d492cb167b65d7273e26ed7b84
2016-10-15 23:05:04 +05:30
Maneesh Gupta 937c0389cb samples: Updated to use new hip include path
Change-Id: I53a1385a17f13a997ea21d14315f15a3ad851dab
2016-10-04 22:21:10 +05:30
Ben Sander fdb4ed3c5e Sample improvements.
- Enable -O3 for hipDispatchLatency.
- Use nearly-null kernel to prevent it from being optimized away.
- Formatting for hipDispatchLatency.
- Formatting for hipInfo.
2016-09-22 13:05:47 -05:00
Ben Sander 7eba742c66 fix peer query order 2016-04-11 07:58:59 -05:00
Ben Sander c161c1ba9b P2p checkpoint.
- set USE_PEER_TO_PEER=3 (requires HCC "am_memtracker_update_peers")
- when enabling peer, turn it on for previously allocated memory.
- hipDeviceCanAccessPeer is no longer self-ware (self does not qualify
  as a peer)
- device peerlist always includes self, so when we call allow_access
  we never remove self access.
- hipDeviceReset() removes old peer mappings.
2016-04-11 07:58:59 -05:00
Ben Sander 565300acb0 Remove stray debug msgs, hipInfo don't print self as peer. 2016-04-11 07:58:58 -05:00
Ben Sander 4fca0a1bdf Print peers in hipConfig.
Also include peer APIs in vim hilighting.
2016-04-11 07:58:58 -05:00
Aditya Atluri 0155e5b879 corrected hipDeviceGetProperties to hipGetDeviceProperties - not docs 2016-03-06 08:31:04 -06:00
Ben Sander 2fb97ae4d8 fixes for titan platform 2016-02-26 05:25:30 -06:00
Evgeny Mankov 11b75c38de Attribute hipDeviceAttributeIsMultiGpuBoard for obtaining Device property isMultiGpuBoard is added.
On HIP path property obtaining done through hsa_iterate_agents and counting the devices of HSA_DEVICE_TYPE_GPU type.

P.S.
On multi-boards systems it might be problems with detection what board a GPU plugged into (not tested).
2016-02-25 23:44:39 +03:00
Evgeny Mankov bdb6c4f423 Guard #ifdef USE_ROCR_20 is added for ROCR_20 device properties (memoryClockRate, memoryBusWidth)
By default isn't defined.
To add ROCR_20 support HIP have to be compiled as follows: make CXX_DEFINES+=-DUSE_ROCR_20
2016-02-19 13:27:03 +03:00
Evgeny Mankov 83612db41b Device property memoryBusWidth implementation.
+ Device property memoryBusWidth is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryBusWidth is added to hipDeviceAttribute_t struct.
+ Tests update.
2016-02-18 18:15:01 +03:00
Evgeny Mankov 383310d9d0 Device property memoryClockRate implementation.
+ Device property memoryClockRate is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryClockRate is added to hipDeviceAttribute_t struct.
+ Tests update.
+ Rename hipDevAttrConcurrentKernels to hipDeviceAttributeConcurrentKernels.
2016-02-18 17:25:28 +03:00
Evgeny Mankov ff22a6eb28 hipInfo sample update with new Device Properties. 2016-02-18 15:08:55 +03:00
Evgeny Mankov 12fcf1d0ff Formatting, no functional changes. 2016-02-15 13:16:05 +03:00
Aditya Avinash Atluri 6e2721890a Corrected compilation error 2016-01-26 10:40:06 -05:00
Ben Sander 4eafc92922 Initial commit for GPUOpen Launch 2016-01-26 20:14:33 -06:00