Commit Graph

4890 Commits

Author SHA1 Message Date
Aryan Salmanpour 518130a0b7 [HIP] add cooperative kernel launch APIs on NVCC (#1929)
[ROCm/clr commit: e509a6d0b4]
2020-03-17 14:01:11 +05:30
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
Joseph Greathouse 04ead59f0b Fix errors in occupancy calculation function (#1926)
Fix two errors in hipOccupancyMaxActiveBlocksPerMultiprocessor.
1) Fix a possible segfault if the user passed in a null pointer for
   the numBlocks value.
2) Handle the situation when the user is asking for a block size
   that is larger than what the target device can hold within a
   single block.

[ROCm/clr commit: 6ae1b1a321]
2020-03-17 14:00:38 +05:30
Yaxun (Sam) Liu 586dc598b6 Let hipcc not pass -mllvm option to HIP-Clang on Windows (#1924)
Currently there is a clang bug on Windows causing duplicate -mllvm options in clang -cc1.

Tempoarily disable -mllvm options for HIP-Clang on Windows until the bug is fixed.

Change-Id: I3a4393ba7745989398dc6c6001722837dad18704

[ROCm/clr commit: 6b1956d139]
2020-03-17 14:00:20 +05:30
Maneesh Gupta 91546b6c9f Annotate __constant__ (#1901)
[ROCm/clr commit: e8bd9768d1]
2020-03-17 13:59:44 +05:30
mhbliao b8f9f9598b [hip] Improve the portability of the header for vector type support. (#1873)
- Need to check the availability of `__has_attribute` builtin macro
  instead of compiler versions. That's more reliable and portable among
  various compilers.
- Provides a very basic support of vectors for unknown compilers.

[ROCm/clr commit: fc223dc584]
2020-03-17 13:59:24 +05:30
Jatin b6f99e9332 Enable saxpy Test
Change-Id: Iadb5f631e1cebaf016b1835510771b3b7fac0a55


[ROCm/clr commit: fa10ee3301]
2020-03-17 01:15:20 -04:00
Sameer Sahasrabuddhe f12c0f1dbb SWDEV-204784: separate printf declaration for vdi/clang
There are now two implementations of printf in HIP:

1. The implemenation for HCC is controlled by the HC_FEATURE_PRINTF
   macro, and it works only with the HCC compiler used in combination
   with the HCC runtime.

2. The implementation for hip-clang requires the VDI runtime, and is
   always enabled with that combination.

Change-Id: Ibaeda7900ffe2ce602ca0094aafed0f1147ac2b6


[ROCm/clr commit: d48738856c]
2020-03-16 04:00:39 -04:00
Vladislav Sytchenko 303e04fa55 Enable simpleTexture3D test for VDI
Change-Id: Ida65de6e1cae64ac97b624eaab1340877a6fba73


[ROCm/clr commit: dafed1a009]
2020-03-13 18:34:39 -04:00
Saleel Kudchadker fc2aec1cf1 libhiprtc.so needs to be installed in DEST dir
Change-Id: I3ae8b4f18a05a707b87fa73873c1721928ebe904


[ROCm/clr commit: f663c93cd6]
2020-03-12 12:23:36 -07:00
Jiabao Xie 3b776dfe6a Cleaned include statements and deleted unnecessary operator overloads
Change-Id: I5eb322c05082e8f27584446af2f6a19243dc63c9


[ROCm/clr commit: f81175c3bc]
2020-03-12 14:13:01 -04:00
Evgeny Mankov 5e8ec423f2 Merge pull request #1916 from asalmanp/refactor_cooperative_APIs
[HIP] Refactor cooperative APIs

[ROCm/clr commit: bf385d8641]
2020-03-12 19:12:50 +03:00
Evgeny Mankov c50f579660 Merge pull request #1908 from asalmanp/prop_mulit_coop
[HIP] add hip specific properties for cooperative kernel multi device

[ROCm/clr commit: 21ccb0be01]
2020-03-12 19:12:11 +03:00
Alex Voicu 8acb4eaa33 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_robust_constant
[ROCm/clr commit: b9544eabe8]
2020-03-12 14:20:26 +00:00
Saleel Kudchadker 80c688d9f5 Merge "Fix P4 linux make builds" into amd-master-next
[ROCm/clr commit: 7d86f10c3c]
2020-03-11 16:17:18 -04:00
Maneesh Gupta 666f217a6a Expose support for non-returning atomic FADD (#1909)
Change-Id: If5359488324477315a9bd4f308a75f606c065b39

[ROCm/clr commit: af933d0900]
2020-03-11 14:33:15 +05:30
srinivamd 195abb8a18 return hipSuccess when count is zero (#1900)
[ROCm/clr commit: 32960ab8f9]
2020-03-11 14:32:54 +05:30
Evgeny Mankov db38be5a13 Merge pull request #1925 from arghdos/patch-3
Fix incorrect shfl_xor for Windows

[ROCm/clr commit: 925d76ddef]
2020-03-11 00:58:11 +03:00
Jiabao Xie 9bfc5ba7a9 Merge "Structs expanded to print struct information than address. Moved to hip_formatting.hpp. Reformatted to follow Google standards" into amd-master-next
[ROCm/clr commit: 214c07a5b8]
2020-03-10 15:56:49 -04:00
Aryan Salmanpour cb8cf51d3f [HIP] return an error if blockDim exceeds maxThreadsPerBlock
[ROCm/clr commit: 70ef268add]
2020-03-10 15:26:53 -04:00
Evgeny Mankov c20ccb8ba5 Merge pull request #1922 from emankov/HIP
[HIP][doc] Update README.md

[ROCm/clr commit: e605bce913]
2020-03-10 22:20:00 +03:00
Yaxun Liu 4042bf151b Merge "Let hipcc not pass -mllvm option to HIP-Clang on Windows" into amd-master-next
[ROCm/clr commit: 3fbd8e0dc2]
2020-03-10 14:12:06 -04:00
Vladislav Sytchenko 98761c5721 Fix typo in device __shfl_xor function
Change-Id: I8bcdd53ced00c596a0af013a0c34e37aa67c93ae


[ROCm/clr commit: caea3f9b32]
2020-03-10 13:23:08 -04:00
Jiabao Xie 3f843860d0 Structs expanded to print struct information than address. Moved to hip_formatting.hpp. Reformatted to follow Google standards
Change-Id: I08695058c11db51b9f3cbe1deb4af944ebf9e64d


[ROCm/clr commit: 10d90ab2ad]
2020-03-10 13:12:28 -04:00
Yaxun (Sam) Liu 23a8dfc8f3 Let hipcc not pass -mllvm option to HIP-Clang on Windows
Currently there is a clang bug on Windows causing duplicate -mllvm options in clang -cc1.

Tempoarily disable -mllvm options for HIP-Clang on Windows until the bug is fixed.

Change-Id: I3a4393ba7745989398dc6c6001722837dad18704


[ROCm/clr commit: e796a1ed78]
2020-03-10 13:07:26 -04:00
Nick Curtis cf2629a95c Fix incorrect shfl_xor for Windows
copy/paste error, need __shfl_xor w/ lane_mask

[ROCm/clr commit: a9af4755cb]
2020-03-10 12:04:05 -05:00
Evgeny Mankov 2b17cd5189 [HIP][doc] Update README.md
[ROCm/clr commit: 2bb166503f]
2020-03-10 18:04:01 +03:00
Saleel Kudchadker 049340f08e Fix P4 linux make builds
Change-Id: I6cc4e69a914389b53bc3b52535eb6faf24897a09


[ROCm/clr commit: 7bba326ed1]
2020-03-10 00:02:10 -07:00
Saleel Kudchadker 82a836eb22 Merge "Change HIPRTC Version to 9.0" into amd-master-next
[ROCm/clr commit: 8d05d06dce]
2020-03-09 22:55:27 -04:00
Vladislav Sytchenko 426e3ecb06 Merge "Add hipDrvMemcpy3D." into amd-master-next
[ROCm/clr commit: 305e4eedcf]
2020-03-09 18:13:16 -04:00
Julia Jiang cf35a2a1de Merge "SWDEV-225337-Fix test failure in hipNormalizedFloatValueTex kernel" into amd-master-next
[ROCm/clr commit: 9b436779e4]
2020-03-09 16:58:10 -04:00
Vladislav Sytchenko 952502e2ed Add hipDrvMemcpy3D.
This is the equivalent of cuMemcpy3D.

Change-Id: Ib2e06dbd6f5093c931cdfd36c87617f32acffc2d


[ROCm/clr commit: cd76eb7486]
2020-03-09 16:11:25 -04:00
Aryan Salmanpour d011efb792 [HIP] fix formatting/code clean up and fix a bug
[ROCm/clr commit: 7009901fe0]
2020-03-09 16:03:59 -04:00
jujiang 0279f1d89e SWDEV-225337-Fix test failure in hipNormalizedFloatValueTex kernel
Change-Id: I3a4c3b58578703993640a8d28242ec1a0ed5ff60


[ROCm/clr commit: 09d442d7c3]
2020-03-09 15:21:29 -04:00
Sameer Sahasrabuddhe 7973b6d45d enable hostcall tests
Change-Id: Ic6efe71c868defc53be214acd7e0907109ec1410


[ROCm/clr commit: 5fc32755b7]
2020-03-09 14:41:37 -04:00
Saleel Kudchadker 1834fb4c5e Change HIPRTC Version to 9.0
Change-Id: I7e88df61248f0fe6e33c2315805f9e49a493cf29


[ROCm/clr commit: f34d5bdfb1]
2020-03-09 11:28:55 -07:00
Saleel Kudchadker dde752bbd1 Fix HIPRTC headers to export C style symbols
Change-Id: I3e0d2b19ace4a9096e3e46bd22f420483da51a8a


[ROCm/clr commit: 514c7c8ef8]
2020-03-09 14:18:46 -04:00
Vladislav Sytchenko afe8d26dd1 Fix Windows build.
extern "C" on Windows implies nothrow. We shouldn't be throwing exceptions either way.

Change-Id: If0ed1f7ec194bf7f65b7cea1a5c250e768a8f190


[ROCm/clr commit: a15e895cfd]
2020-03-09 11:46:55 -04:00
Sameer Sahasrabuddhe 988b489efd separate printf declaration for vdi/clang
There are now two implementations of printf in HIP:

1. The implemenation for HCC is controlled by the HC_FEATURE_PRINTF
   macro, and it works only with the HCC compiler used in combination
   with the HCC runtime.

2. The implementation for hip-clang requires the VDI runtime, and is
   always enabled with that combination.


[ROCm/clr commit: 2c3dfdda41]
2020-03-09 09:40:05 +05:30
Alex Voicu 1d009eaee4 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_robust_constant
[ROCm/clr commit: 31bdd6ef24]
2020-03-08 18:00:14 +00:00
Aryan Salmanpour 2ca751f70c [HIP] Refactor cooperative APIs
[ROCm/clr commit: 97b24eba45]
2020-03-06 18:30:12 -05:00
Saleel Kudchadker cba02a6305 Merge "Merge branch 'master' into amd-master-next" into amd-master-next
[ROCm/clr commit: af88b3f18f]
2020-03-06 16:29:16 -05:00
Vladislav Sytchenko 468ede4cc1 Add hipMemcpy3DParams -> HIP_MEMCPY3D conversion
Change-Id: I66dd1ae722b8c0d7ddb2562c958b14854e6b86bc


[ROCm/clr commit: 59fb85f94d]
2020-03-06 14:33:52 -05:00
Vladislav Sytchenko d65e730457 Fix dangling pointer after hipUnbindTexture() call
Change-Id: Ic4b476c62ebfae31e94dd139b20b6aaaa52bb866


[ROCm/clr commit: 7ffa6eb963]
2020-03-06 14:10:56 -05:00
Lad, Aditya eca6c4f001 Merge branch 'master' into amd-master-next
Conflicts:
	CMakeLists.txt
	tests/src/texture/simpleTexture2DLayered.cpp
	tests/src/texture/simpleTexture3D.cpp

Change-Id: I4aa4754d391b5f37ddf15fa0bcfc84d9da020119


[ROCm/clr commit: e7fdb3d796]
2020-03-06 14:10:44 -05:00
Vladislav Sytchenko c5e8d27600 Add missing coversion cases.
Handle converting signed int cases of hipResourceViewFormat to number of channels.

Change-Id: Ica8ae6f644edfaa0d4803d0b8e90e320479118e2


[ROCm/clr commit: e746584d24]
2020-03-06 14:06:21 -05:00
Tao Sang 8eb086a967 Merge "Fix hipExtLaunchMultiKernelMultiDevice compilation issue" into amd-master-next
[ROCm/clr commit: 1216153c66]
2020-03-06 12:32:55 -05:00
Aryan Salmanpour 4146f75d46 move new enums to the end to maintain compatibility
[ROCm/clr commit: ddd0b31d16]
2020-03-06 11:38:44 -05:00
Evgeny Mankov 47e249093d [HIPIFY][doc] Update README.md: LLVM 10.0.0-rc3 is supported
+ Add -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON for LLVM 10.0.0 or newer
+ Supported versions update


[ROCm/clr commit: 278eff4c96]
2020-03-06 18:17:05 +03:00
Alex Voicu 10970e9dd9 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_robust_constant
[ROCm/clr commit: 8d6e4f872c]
2020-03-06 12:33:31 +02:00