Commit Graph

25 Commits

Author SHA1 Message Date
Joseph Greathouse e1123ce997 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.

[ROCm/clr commit: 44b16df84f]
2020-03-17 14:00:51 +05:30
Sarbojit2019 0cf9a5b532 Added missing device prop fields into hipInfo sample (#1357)
* Added prop.integrated into hipInfo sample

* Added missing deviceProp fileds in hipInfo


[ROCm/clr commit: 919bb6c74d]
2019-08-23 09:21:47 +00:00
chrispaquot 4b13efac04 Set device before processing each one (#1358)
[ROCm/clr commit: d0b11deb7f]
2019-08-23 09:19:50 +00:00
Evgeny Mankov fef3e849eb [HIP][tests] Copyright notice update
[ROCm/clr commit: 7664560f14]
2019-05-20 18:46:23 +03:00
Maneesh Gupta 46ddefedee Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344


[ROCm/clr commit: 9e47fccc89]
2018-03-12 11:29:03 +05:30
Aditya Atluri bd427d5b47 automate gcnarch detection
Change-Id: Ibbad22db136f7f5e2be84c82e9169298a144cc77


[ROCm/clr commit: 0fe0381608]
2017-06-29 12:01:40 -05:00
Ben Sander 1a58ccc3b4 Print limits on CUDA devices
[ROCm/clr commit: ab07d9b4a7]
2016-12-16 08:55:11 -06:00
Ben Sander 43723d77cc Print non-peers too
Change-Id: I2a6905edcdf144aa732ae3120c17780477f232ac


[ROCm/clr commit: 44aee4b61c]
2016-11-04 06:34:07 -05:00
Maneesh Gupta dbfd285aae samples: Updated copyright header
Change-Id: I821f514ced5e34d492cb167b65d7273e26ed7b84


[ROCm/clr commit: 945a09c241]
2016-10-15 23:05:04 +05:30
Maneesh Gupta 19b9ab32b2 samples: Updated to use new hip include path
Change-Id: I53a1385a17f13a997ea21d14315f15a3ad851dab


[ROCm/clr commit: ead394ec09]
2016-10-04 22:21:10 +05:30
Ben Sander 681f560fe1 Sample improvements.
- Enable -O3 for hipDispatchLatency.
- Use nearly-null kernel to prevent it from being optimized away.
- Formatting for hipDispatchLatency.
- Formatting for hipInfo.


[ROCm/clr commit: e8beacbfb1]
2016-09-22 13:05:47 -05:00
Ben Sander 39cccf94ef fix peer query order
[ROCm/clr commit: a894ca3abb]
2016-04-11 07:58:59 -05:00
Ben Sander 025938b1de 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.


[ROCm/clr commit: 9e7efd7c65]
2016-04-11 07:58:59 -05:00
Ben Sander 20d06df651 Remove stray debug msgs, hipInfo don't print self as peer.
[ROCm/clr commit: a4d97c3172]
2016-04-11 07:58:58 -05:00
Ben Sander df576efeb4 Print peers in hipConfig.
Also include peer APIs in vim hilighting.


[ROCm/clr commit: 23dbffb207]
2016-04-11 07:58:58 -05:00
Aditya Atluri e5657dec23 corrected hipDeviceGetProperties to hipGetDeviceProperties - not docs
[ROCm/clr commit: 8a21b42943]
2016-03-06 08:31:04 -06:00
Ben Sander b97c2c02b1 fixes for titan platform
[ROCm/clr commit: 8105bd636f]
2016-02-26 05:25:30 -06:00
Evgeny Mankov 8e6e28df60 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).


[ROCm/clr commit: 7bb0f17656]
2016-02-25 23:44:39 +03:00
Evgeny Mankov c76791140d 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


[ROCm/clr commit: d4b15399f5]
2016-02-19 13:27:03 +03:00
Evgeny Mankov a17733dd80 Device property memoryBusWidth implementation.
+ Device property memoryBusWidth is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryBusWidth is added to hipDeviceAttribute_t struct.
+ Tests update.


[ROCm/clr commit: da8169dd89]
2016-02-18 18:15:01 +03:00
Evgeny Mankov a47073f25d 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.


[ROCm/clr commit: 8aace64dce]
2016-02-18 17:25:28 +03:00
Evgeny Mankov 6812fa603f hipInfo sample update with new Device Properties.
[ROCm/clr commit: 859208d6f0]
2016-02-18 15:08:55 +03:00
Evgeny Mankov 979a875bb5 Formatting, no functional changes.
[ROCm/clr commit: 763aa5ea5a]
2016-02-15 13:16:05 +03:00
Aditya Avinash Atluri 7929a04018 Corrected compilation error
[ROCm/clr commit: d5e8fa3e86]
2016-01-26 10:40:06 -05:00
Ben Sander 28f87a0428 Initial commit for GPUOpen Launch
[ROCm/clr commit: 304171c1a2]
2016-01-26 20:14:33 -06:00