Commit Graph

13402 Commits

Author SHA1 Message Date
Evgeny Mankov be4ba44d12 [HIPIFY][SPARSE] sync with hipSPARSE
+ Update doc and hipify-perl accordingly


[ROCm/clr commit: baa0c68ab4]
2020-03-18 13:07:46 +03:00
Chauncey Hui 66ca4de8c4 SWDEV-2 - Change OpenCL version number from 3109 to 3110
[ROCm/clr commit: 7afd54f844]
2020-03-18 03:00:03 -04:00
Nagy-Egri Máté Ferenc f3c3070404 Remove debug message (#1950)
[ROCm/clr commit: b519d1d681]
2020-03-18 11:20:53 +05:30
Aryan Salmanpour 1c8dc380bc [HIP] use markers to sync cooperative and normal queues (#1948)
[ROCm/clr commit: 66735bff13]
2020-03-18 11:20:43 +05:30
Yaxun (Sam) Liu 5fffd89ae8 Workaround for libc++ include path for HIP-Clang (#1917)
HIP-Clang cuda_wrapper headers require clang include path before standard C++ include path.
However libc++ include path requires to be before clang include path.
To workaround this, we pass -isystem with the parent directory of clang include
path instead of the clang include path itself.

[ROCm/clr commit: 0307ae4c9a]
2020-03-18 11:20:21 +05:30
jglaser 76759ae09f Implement accurate max block size in hipFuncGetAttributes() (#1676)
This PR takes ensures that the maxThreadsPerBlock returned by hipFuncGetAttributes is both a multiple of the warp size and that the register usage of the maximum block does not exceed the number of available registers.

Fixes #1662

[ROCm/clr commit: ea28d64297]
2020-03-18 11:20:06 +05:30
Paul Fultz II 85fdd5afc9 Add missing flags for hip::device target on hip-clang (#1230)
This adds the missing compilation flags to hip::device so it can compile with hip-clang compiler.

[ROCm/clr commit: 9a47358324]
2020-03-18 11:18:58 +05:30
Sarbojit Sarkar 7cac7ff3b5 [hip-vdi]Fix for TF build failure [SWDEV-225827]
Change-Id: I8478779bef92bad8353b8d066b28c220bb59b98d


[ROCm/clr commit: 957caff8b4]
2020-03-17 22:52:01 -04:00
Vladislav Sytchenko 84a6c0001d Enable simpleTexture2DLayered test for VDI
Change-Id: I420f68824c6825152ac50e5a129b11b6ad88deb9


[ROCm/clr commit: 3150e1ef8d]
2020-03-17 17:50:46 -04:00
Vladislav Sytchenko 76b3ece656 Enable hipNormalizedFloatValueTex test for VDI
Change-Id: Iac8631312f34821d919b69b3fcb92b9387ba31dd


[ROCm/clr commit: 8d01fad7ef]
2020-03-17 17:50:30 -04:00
Tao Sang 7cfb4bac80 Merge "Fix failure to get global variables" into amd-master-next
[ROCm/clr commit: b0defd2676]
2020-03-17 17:08:14 -04:00
Vladislav Sytchenko 8d204f649e Rework device texture headers
This change addresses three things.

First the available APIs are brought up to par with Cuda (missing ones are added and incorrect ones removed).

Second the size of hip/hcc_detail/texture_functions.h. Using some template magic we can bring down the code size down from ~11k lines to only ~900 lines in total.

Third this change fixes some bugs in the declaration of the texture fetch funcitons. Currently the return type for textures with read mode set to hipReadModeNormalizedFloat is not float. This causes pixel data to be lost during the bitcast when the texture pixel element size is less than the size of float.

The new headers will only be enabled for VDI to avoid breaking HCC.

Change-Id: I77cb29293fb79e55681be094c37702a48d80b64c


[ROCm/clr commit: 3d7945faae]
2020-03-17 17:04:37 -04:00
Vladislav Sytchenko 364377eda0 Rework hipNormalizedFloatValueTex test
This is currently so buggy that it causes a runtime crash on Nvidia platfrom...

Disable the new version for hcc and vdi, header fixes are required for it to pass.

Currently tex1D<char, hipTextureType1D, hipReadModeNormalizedFloat> returns a char, when the actual sampled pixel value is a float, so the hi 3 bytes get lost.

Change-Id: I8222a4d8d1d8b101eb43f3f8dfbe4818f885f8ea


[ROCm/clr commit: 3abd89925a]
2020-03-17 17:04:17 -04:00
Saleel Kudchadker cbaa4b75b2 Merge "libhiprtc.so needs to be installed in DEST dir" into amd-master-next
[ROCm/clr commit: 36a07434ea]
2020-03-17 16:17:55 -04:00
Tao Sang 7a171f28c7 Fix failure to get global variables
Implement _ihipGetGlobalVar() and ihipGetGlobalVar() to
get global variables.

Change-Id: I442ab6712e12306c3316f114f5dc42f6daefaad9


[ROCm/clr commit: 8e9e6a44a4]
2020-03-17 16:14:16 -04:00
Evgeny Mankov a521966508 Merge pull request #1951 from emankov/hipify-clang
[HIPIFY][doc] Update README.md: LLVM 10.0.0-rc4 is supported

[ROCm/clr commit: dddc145893]
2020-03-17 18:57:13 +03:00
Evgeny Mankov 0d11749db2 [HIPIFY][doc] Update README.md: LLVM 10.0.0-rc4 is supported
[ROCm/clr commit: 7f51cdb9da]
2020-03-17 18:51:46 +03:00
Vladislav Sytchenko 0c7735ad28 Merge "Enable simpleTexture3D test for VDI" into amd-master-next
[ROCm/clr commit: 7da159bac2]
2020-03-17 11:41:05 -04:00
Jatin Chaudhary 6d39b6fbb8 Adding Half Abs APIs (#1902)
[ROCm/clr commit: 8a3ce17ba6]
2020-03-17 14:13:19 +05:30
zhaozhangjian 02ab8feabd fix a bug when initializing a vector of hipFunction_t (#1949)
[ROCm/clr commit: a2281268ba]
2020-03-17 14:05:07 +05:30
Sameer Sahasrabuddhe 4d9df4192e enable HCC printf when using hip-clang (#1947)
This allows printf to work with hip-clang and HCC runtime. See comments under #1919 for a reported bug and feature request.

[ROCm/clr commit: 446a9e82e2]
2020-03-17 14:03:27 +05:30
Joseph Greathouse 7adeaffd61 Fix compiler warning on NVCC path (#1942)
GCC emits a warning about using static functions like
hipCUDAErrorTohipError inside this function, because it has an
inline directive, but it's not static. Adding static to this function
to silence warnings (and prevent potential problems in the future).

[ROCm/clr commit: dc9ecf03f8]
2020-03-17 14:02:59 +05:30
Joseph Greathouse 43c687a5e8 Fix occupancy calculations API on NVCC (#1941)
NVCC warned if you tried to use hipOccupancyMaxActiveBlocksPerMultiprocessor
because when passing in a device function pointer, "const void* func" was
insufficient to describe it accurately. Adding a C++ templated class type
definition for this function.

[ROCm/clr commit: 7f49e47217]
2020-03-17 14:02:48 +05:30
Reshabh Sharma 278168800f Output file name should not change flags picked for compiler (#1938)
Fixes SWDEV-207362,

The output file name should not contribute to picking up the right flags for the compiler. This fix solves issues when the output has conflicting extensions which confuses hipcc to treat them as the source files and add the required flags for them.

PS: Output file refers to the file followed by -o

Example: hipcc test.o -o test.hip will add the flags for .hip compilation ignoring the fact that it is an output file

[ROCm/clr commit: 59b8dabbd0]
2020-03-17 14:02:14 +05:30
Sarbojit2019 8e7109d9ee Fix __sad signature match with Cuda (#1936)
Fix for issue #1930

[ROCm/clr commit: 5ddb9e1eb7]
2020-03-17 14:02:00 +05:30
Joseph Greathouse 37e78fe08d Fix detection of support for cooperative groups (#1932)
Query ROCr to see if we have the proper lower-level support for
cooperative groups -- GWS support through the firmware, driver,
thunk, and ROCr. ROCr does these checks for us, and presents a
query that allows us to see if GWS entries are available for use.
If so, then we have all the lower-level technologies needed, and
we should enable cooperative groups support for HIP.

[ROCm/clr commit: 35a68596f9]
2020-03-17 14:01:44 +05:30
Reshabh Sharma 10b1f2badf Don't force compiler to treat libhip_hcc.so as a text file (#1931)
Fixes SWDEV-226025,

Right now -x c++ can come before libhip_hcc.so which forces the compiler to treat libhip_hcc.so as a text file and generates a lot of gibberish unicode. This PR changes the order of flags ensuring that -x c++ and similar flags come after libhip_hcc.so
Hopefully, this will not have any negative side effect.

[ROCm/clr commit: 4a9793e2e2]
2020-03-17 14:01:33 +05:30
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 3f66311210 SWDEV-224023
Correct typo.

Change-Id: I72131a6e0210e7b961e586cd0ae18608d21fc529


[ROCm/clr commit: 52046e41b2]
2020-03-15 16:37:25 -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
Chauncey Hui 0911d764ec SWDEV-2 - Change OpenCL version number from 3108 to 3109
[ROCm/clr commit: 8d91d8fd32]
2020-03-13 03:00:03 -04:00
Jason Tang 7c287466c3 SWDEV-207312 - Fix images_write_cube failure for gfx10
Change-Id: I7f6a8c77eb712103e4c0a5f36bba95093ffbff98


[ROCm/clr commit: 9cfb973c3f]
2020-03-12 17:25:52 -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
German Andryeyev b2bb42e8d1 SWDEV-79445 - Remove cl_amd_object_metadata extension
Change-Id: I0dd3d8a249b407dd9fac4ef32ebe9b14fd5ff859


[ROCm/clr commit: 25c29a99b1]
2020-03-12 15:14:01 -04:00
German Andryeyev 60466af0bb SWDEV-86035 - Switch PAL version to 572
Change-Id: I948bcfdb247a9d2d10c4089fd40d184f8999501b


[ROCm/clr commit: f7c95a7ec5]
2020-03-12 14:27:02 -04:00
German Andryeyev 607745e99c SWDEV-224471 - [19H1][Polaris10][Acer]
Test window will quit or show error message when run OpenCL API.

Add a workaround for the race condition with the first page
during pinning.

Change-Id: I9a27b4e173cf94c84aefcb94e255f11169453d94


[ROCm/clr commit: ab85674f8a]
2020-03-12 14:20:48 -04: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
Payam 17f6a41982 removing AMD emails per palamida scan
Change-Id: If7307f5b1f81a43f2725ec5abd3b8989cbddbcc5


[ROCm/clr commit: 1b6f21ad9a]
2020-03-11 21:26:55 -04: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