Граф коммитов

4449 Коммитов

Автор SHA1 Сообщение Дата
Jeff Daily 1444f850ac fix hipStreamAddCallback, block future work on stream (#1934) 2020-03-19 16:16:04 +05:30
nelsonc-amd d90a0c05c0 packaging: change Provides to use dash instead of underscore (#1913)
Addresses an installation problem for several HIP packages.
Packages builds have been tested locally, validation in progress.
2020-03-19 16:15:09 +05:30
Evgeny Mankov 01bcc0015c Merge pull request #1955 from emankov/hipify-clang
[HIPIFY][perl] Fix missed sync with hipify-clang
2020-03-18 14:30:11 +03:00
Evgeny Mankov 758b3864b7 [HIPIFY][perl] Fix missed sync with hipify-clang 2020-03-18 14:24:02 +03:00
Evgeny Mankov 6ce54a6e25 Merge pull request #1954 from emankov/hipify-clang
[HIPIFY][SPARSE] sync with hipSPARSE's "added csrsm2" (#83)
2020-03-18 13:46:05 +03:00
Evgeny Mankov 126ebadcc6 [HIPIFY][SPARSE] sync with hipSPARSE's "added csrsm2" (#83)
+ https://github.com/ROCmSoftwarePlatform/hipSPARSE/pull/83
+ Update doc and hipify-perl accordingly
2020-03-18 13:44:50 +03:00
Evgeny Mankov aeac6239ff Merge pull request #1953 from emankov/hipify-clang
[HIPIFY][SPARSE] sync with hipSPARSE
2020-03-18 13:09:21 +03:00
Evgeny Mankov baa0c68ab4 [HIPIFY][SPARSE] sync with hipSPARSE
+ Update doc and hipify-perl accordingly
2020-03-18 13:07:46 +03:00
Nagy-Egri Máté Ferenc b519d1d681 Remove debug message (#1950) 2020-03-18 11:20:53 +05:30
Aryan Salmanpour 66735bff13 [HIP] use markers to sync cooperative and normal queues (#1948) 2020-03-18 11:20:43 +05:30
Yaxun (Sam) Liu 0307ae4c9a 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.
2020-03-18 11:20:21 +05:30
jglaser ea28d64297 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
2020-03-18 11:20:06 +05:30
Paul Fultz II 9a47358324 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.
2020-03-18 11:18:58 +05:30
Evgeny Mankov dddc145893 Merge pull request #1951 from emankov/hipify-clang
[HIPIFY][doc] Update README.md: LLVM 10.0.0-rc4 is supported
2020-03-17 18:57:13 +03:00
Evgeny Mankov 7f51cdb9da [HIPIFY][doc] Update README.md: LLVM 10.0.0-rc4 is supported 2020-03-17 18:51:46 +03:00
Jatin Chaudhary 8a3ce17ba6 Adding Half Abs APIs (#1902) 2020-03-17 14:13:19 +05:30
zhaozhangjian a2281268ba fix a bug when initializing a vector of hipFunction_t (#1949) 2020-03-17 14:05:07 +05:30
Sameer Sahasrabuddhe 446a9e82e2 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.
2020-03-17 14:03:27 +05:30
Joseph Greathouse dc9ecf03f8 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).
2020-03-17 14:02:59 +05:30
Joseph Greathouse 7f49e47217 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.
2020-03-17 14:02:48 +05:30
Reshabh Sharma 59b8dabbd0 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
2020-03-17 14:02:14 +05:30
Sarbojit2019 5ddb9e1eb7 Fix __sad signature match with Cuda (#1936)
Fix for issue #1930
2020-03-17 14:02:00 +05:30
Joseph Greathouse 35a68596f9 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.
2020-03-17 14:01:44 +05:30
Reshabh Sharma 4a9793e2e2 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.
2020-03-17 14:01:33 +05:30
Aryan Salmanpour e509a6d0b4 [HIP] add cooperative kernel launch APIs on NVCC (#1929) 2020-03-17 14:01:11 +05:30
Joseph Greathouse 44b16df84f 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
Joseph Greathouse 6ae1b1a321 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.
2020-03-17 14:00:38 +05:30
Yaxun (Sam) Liu 6b1956d139 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
2020-03-17 14:00:20 +05:30
Maneesh Gupta e8bd9768d1 Annotate __constant__ (#1901) 2020-03-17 13:59:44 +05:30
mhbliao fc223dc584 [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.
2020-03-17 13:59:24 +05:30
Evgeny Mankov bf385d8641 Merge pull request #1916 from asalmanp/refactor_cooperative_APIs
[HIP] Refactor cooperative APIs
2020-03-12 19:12:50 +03:00
Evgeny Mankov 21ccb0be01 Merge pull request #1908 from asalmanp/prop_mulit_coop
[HIP] add hip specific properties for cooperative kernel multi device
2020-03-12 19:12:11 +03:00
Alex Voicu b9544eabe8 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_robust_constant 2020-03-12 14:20:26 +00:00
Maneesh Gupta af933d0900 Expose support for non-returning atomic FADD (#1909)
Change-Id: If5359488324477315a9bd4f308a75f606c065b39
2020-03-11 14:33:15 +05:30
srinivamd 32960ab8f9 return hipSuccess when count is zero (#1900) 2020-03-11 14:32:54 +05:30
Evgeny Mankov 925d76ddef Merge pull request #1925 from arghdos/patch-3
Fix incorrect shfl_xor for Windows
2020-03-11 00:58:11 +03:00
Aryan Salmanpour 70ef268add [HIP] return an error if blockDim exceeds maxThreadsPerBlock 2020-03-10 15:26:53 -04:00
Evgeny Mankov e605bce913 Merge pull request #1922 from emankov/HIP
[HIP][doc] Update README.md
2020-03-10 22:20:00 +03:00
Nick Curtis a9af4755cb Fix incorrect shfl_xor for Windows
copy/paste error, need __shfl_xor w/ lane_mask
2020-03-10 12:04:05 -05:00
Evgeny Mankov 2bb166503f [HIP][doc] Update README.md 2020-03-10 18:04:01 +03:00
Evgeny Mankov 31b1d5e4a4 Merge pull request #1919 from ssahasra/declare-printf
separate printf declaration for vdi/clang
2020-03-10 12:26:54 +03:00
Aryan Salmanpour 7009901fe0 [HIP] fix formatting/code clean up and fix a bug 2020-03-09 16:03:59 -04:00
Sameer Sahasrabuddhe 2c3dfdda41 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.
2020-03-09 09:40:05 +05:30
Alex Voicu 31bdd6ef24 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_robust_constant 2020-03-08 18:00:14 +00:00
Aryan Salmanpour 97b24eba45 [HIP] Refactor cooperative APIs 2020-03-06 18:30:12 -05:00
Aryan Salmanpour ddd0b31d16 move new enums to the end to maintain compatibility 2020-03-06 11:38:44 -05:00
Evgeny Mankov cf61ad2830 Merge pull request #1914 from emankov/hipify-clang
[HIPIFY][doc] Update README.md: LLVM 10.0.0-rc3 is supported
2020-03-06 18:20:36 +03:00
Evgeny Mankov 278eff4c96 [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
2020-03-06 18:17:05 +03:00
Alex Voicu 8d6e4f872c Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_robust_constant 2020-03-06 12:33:31 +02:00
Maneesh Gupta 48f5524fdc Expose support for non-returning atomic FADD
Change-Id: If5359488324477315a9bd4f308a75f606c065b39
2020-03-05 10:30:52 +05:30