Commit Graph

6054 Commits

Author SHA1 Message Date
Christophe Paquot 0f7a47a95f SWDEV-281658 - Fix compilation warnings
In file included from /extra/lmoriche/hip-vdi/hip/rocclr/hip_internal.hpp:25,
                 from /extra/lmoriche/hip-vdi/hip/rocclr/hip_hmm.cpp:22:
/extra/lmoriche/hip-vdi/hip/rocclr/hip_prof_api.h: In constructor ‘api_callbacks_table_t::api_callbacks_table_t()’:
/extra/lmoriche/hip-vdi/hip/rocclr/hip_prof_api.h:72:59: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct api_callbacks_table_t::hip_cb_table_t’ with no trivial copy-assignment; use value-initialization instead [-Wclass-memaccess]
   72 |      memset(&callbacks_table_, 0, sizeof(callbacks_table_));
      |                                                           ^
/extra/lmoriche/hip-vdi/hip/rocclr/hip_prof_api.h:67:10: note: ‘struct api_callbacks_table_t::hip_cb_table_t’ declared here
   67 |   struct hip_cb_table_t {
      |          ^~~~~~~~~~~~~~

Address the above warning by providing default initialization of the
api_callbacks_table_t::hip_cb_table_t class members.

Change-Id: I69ea7c390c28cf3f8aec57f23566d6a3061a0365
2021-06-18 07:03:35 -07:00
Christophe Paquot f3a54f0823 SWDEV-281658 - Fix the gen-prof-api-str-header target
There is no OUTPUT_FILE option for add_custom_command (it is an option
for execute_process). Instead, redirect stdout to the output file.

Change-Id: Ic649bc6c4f709c3c42166500a72fce5014690a47
2021-06-18 09:57:02 -04:00
Maneesh Gupta a9b4df0ad0 SWDEV-285388 - Allow fallback to asm when builtin not available
Change-Id: Ifeee7f3ad1be9ce9b79cf26008b75102153143a5
2021-06-17 21:21:19 -07:00
Aleksey 4f0bf535c4 SWDEV-284883 - QMCPACK hangs when using rocprof --trace-period
Workaraund fix race condition in api_callbacks_spawner_t destructor.

Change-Id: I77d61492dfa484c3e477805c6f314a00dbb6cc32
2021-06-17 00:24:56 -04:00
Aaron En Ye Shi 3fa21c1d49 SWDEV-285388 - Clean up llvm intrinsics using __asm
Instead of using inline asm, use clang builtins
for llvm intrinsics.

Change-Id: I30287f5a8de035ccd7e48d10e559a8a2e1d389f7
2021-06-16 13:20:44 -04:00
pghafari 8d3542e7d9 SWDEV-245531 - GLInterop: Add Buffer Interop support
Change-Id: Ic32e1f3f985505b9310d2d2bc85b1e10b4166145
2021-06-16 06:02:24 -04:00
Christophe Paquot bea4fa8700 SWDEV-276396 - Implement hipDeviceReset
Add a hip::Stream::destroyAllStreams static function to destroy all streams
Also call MemObjMap::Purge

Change-Id: I6ee7e3f26ab1f1870a9271c65e99fb818134482b
2021-06-15 13:13:09 -04:00
Jatin Chaudhary 2223a508f5 SWDEV-290993 - Fix error seen in __launch_bounds__ seen with -Werror -Wpedantic
Change-Id: If89c681a5e383c30a9233a183db282787e2f0081
2021-06-15 00:36:35 -07:00
Julia Jiang de150e1803 SWDEV-290704 - update hiprtc header with doxygen
Change-Id: I93b7ddd2a89f8a214bca7e67bd5b88f6144b70dd
2021-06-14 15:28:32 -04:00
Vladislav Sytchenko 52ff66f4fc SWDEV-289854 - Revert to using hardcoded library destination
Current packaging assumes that HIP runtime will always be installed in
/opt/rocm/lib. This is false to assume, because some distros like CentOS
will use the lib64 directory instead of lib. Relying on CMake to choose
the library directory for us will default in that case to lib64. Hence
there will be a mismatch between where HIP is installed and where CMake
thinks it is.

Change-Id: I46e405b25bda987e74b095fcb41319f8a504ae41
2021-06-14 04:20:31 -04:00
German Andryeyev dd8265fc87 SWDEV-290367 - Make sure HIP checks for GPU signal
Check GPU signal status for event before falling into CPU command
status validation

Change-Id: I66f15752d7dca550c0fa1a2252ec5a63817391c3
2021-06-11 16:40:00 -04:00
Vladislav Sytchenko 37be0e449a SWDEV-288707 - Fix build
Currently build is only passing because amdhip64 is being built with
headers from /opt/rocm/include. It should be using the headers from
the hipamd project.

Change-Id: I27cb64b460547ef281d368322afac376fa49db51
2021-06-11 13:29:36 -04:00
Sarbojit Sarkar 7866ba9713 SWDEV-290278 - typedef for hiprtcResult
Change-Id: I93f637dd04ce31aee8ef0ba097f1232af9af8d2b
2021-06-11 11:52:38 -04:00
Sarbojit Sarkar 4c5c0419be SWDEV-286147 - Added image support check before using
Change-Id: I4b8ae854bf3488ef2418f0864a15b2fef0a889da
2021-06-11 11:51:08 -04:00
German Andryeyev 9fa1d9ebfa SWDEV-272496 - Enable direct dispatch
Change-Id: I1e550b45d19b4b498af1ffb8f82db70d6a99c908
2021-06-11 10:34:36 -04:00
Saleel Kudchadker 712963a97e SWDEV-247372 - Always enable marker_ts_ events
Change-Id: I7579ba1ee228809ce38f6f130fb33f1164587903
2021-06-11 00:04:21 -04:00
Julia Jiang 1936678084 SWDEV-290704 - Add doxygen in hiprtc
Change-Id: Ib1efb6874472601c0f45fc5c7f85a01e69b0a958
2021-06-10 17:21:25 -04:00
Rahul Garg e0d7fc8909 ROCMOPS - 1956 - Update hipamd CMake
Change-Id: I1b6fa5953a27660b938d7232f0d88c5981624cd9
2021-06-08 00:52:13 +00:00
Rahul Garg 19c84bc604 ROCMOPS-1956 - Push restructured code to hipamd
hipamd will have AMD's ROCCLR based HIP backend implementation

Change-Id: Id7de9634519b4ce46fca71a1b61f3d5b1e3fc459
2021-06-07 21:42:44 +00:00
Rahul Garg f1f1d9d47c SWDEV-288707 - Move amdhip.def
Change-Id: I77f9519d0d098b9cfdd1d09f67b3ab38d848620b
2021-06-07 05:16:16 +00:00
Rahul Garg 260a1fed06 SWDEV-288707 - Merge HIP refactored code to staging
These changes move-
- rocclr based implementation inside src/hipamd/src
- platform specific (both nvidia and amd) headers inside
src/hipamd/include/hip

Change-Id: Ia29791a727244952591fe1d813dcef0303b73a9e
2021-06-07 00:07:24 +00:00
Tao Sang 50d8183d0b SWDEV-287768 - Fix hipTestClock test
Use long long instead of int as clock64() return.

Change-Id: Id3e4645c05959e13f58efd88bc43f3a1d3e50d59
2021-06-04 15:45:07 -04:00
Aaron En Ye Shi 7c8e210c26 SWDEV-283266 - Fix hipRTC script bugs
Remove extra -isystem causing --cuda-device-only flag
to be dropped. Fix missing __hipRTC_header_size symbol.
Add macros which were consumed during pre-processor
generation. Add INT_MAX and CHAR_BIT macros used in
HIP headers.

Change-Id: Id5143e3c8a2b1e7c78658ba84d5ab3b55ac1fa72
2021-06-04 13:58:32 -04:00
Saleel Kudchadker 4381858778 SWDEV-286092 - Guarantee flush for event record
Every event record will guarantee completion when its called.

Change-Id: I8de34714a4ca2e105f36de2818e95ec2903143ce
2021-06-03 15:41:28 -07:00
cjatin 4d69596c66 SWDEV-277697 - Fix ununsed variable error with -Werror,-Wunused-parameter
Change-Id: Iadd0050e6cf4e4858e1508c1f24f73732a1af443
2021-06-03 13:25:07 -04:00
jujiang 0a6d2ea863 SWDEV-279885 - correct HIP doc for managed memory
Change-Id: I94bb307dbe12692eb60cce744424fb18deea28ba
2021-06-03 11:05:18 -04:00
Vladislav Sytchenko e4e9110f97 SWDEV-273235 - Correct linker export file usage
CMake doesn't handle linker export files in a general way well. On
Windows it is able to recognize a .def file and pass it to the linker.
Unfortunately it cannot do the same thing on Linux, so we have to
manually specify it.

Note that CMake can't recognize the current Windows export file due to
the .in suffix, hence why the amdhip.def file is being added. The
hip_hcc.def.in file will be removed later, as the Makefile build still
uses it.

Change-Id: Id3e4645c95959e13f50efd88bc43f3a1d3e50d58
2021-06-03 11:00:26 -04:00
Robert Maynard 576af84864 SWDEV-288593 - hip-config only adds compile and link options to C++
Change-Id: Iefc7c3597fc8c8864621ad6154352c9dd56a3e74
2021-06-03 00:18:12 -04:00
German Andryeyev 2b3a4e711b SWDEV-240804 - Add hipMemAdvise() extension
Add coarse grain memory extension. The new advice will allow HMM
to disable cache coherency policy to improve performance

Change-Id: I3c792d6a96896b983a7ffccddaa0ded06d183212
2021-06-02 16:16:14 -04:00
agodavar 0714bdfbea SWDEV-288510 - Add hip shared library path to run-time search for linker
Change-Id: I7eaf712c01556933b881b983a8994f4e06333116
2021-06-02 12:57:12 -04:00
Vladislav Sytchenko e037632fbd SWDEV-288814 - Revert back to old target naming
HIP exports the runtime target as amdhip64. This target was recently
renamed to amdhip. It is unclear as to who uses this target, as HIP
clients need to use the device/host targets instead, but we still need
to support it for backwards compatability.

Change-Id: I68b9798ab967420e0642d50621d3c8b577a05435
2021-06-01 17:37:30 -04:00
Vladislav Sytchenko 815e8dd2a3 SWDEV-288814 - Remove dependency on ROCclr
HIP only has a dependency on ROCclr at build time. When exporting HIP,
ROCClr is already embedded into the shared/static library. There is no
reason to search for it.

Change-Id: I8d7e8e58164e5585a1dfc9c998ecf02ca42d8aac
2021-06-01 17:37:30 -04:00
Vladislav Sytchenko 60e9b25650 SWDEV-273235 - Partial cleanup of HIP installation logic
Don't install HIP source code.

Correctly install the HIP shared library based on platform. On Linux,
it will be installed to lib/, but on Windows it will be installed to
bin/. CMake will handle this for us.

Change-Id: I00cc074ad8e13b1b953b21444f0c2b5f50dc03c0
2021-06-01 17:37:30 -04:00
Vladislav Sytchenko 59b98a3949 Revert "SWDEV-255979 - Enable __managed__ test for amd platform"
This reverts commit 25f190a645.

Change-Id: Ib1be007535dcfb24d9e4eddbdb706d3be4acc20c
2021-06-01 17:37:30 -04:00
Joseph Greathouse 3212fdf4d6 SWDEV-288361 - Implement funnel shift operators
Change-Id: I0c73809366f2d21e75f98fdeac7fed0c7591ee34
2021-06-01 11:10:11 -04:00
cjatin 895e83851c SWDEV-277697 - [CatchTest] Disable CXX Extensions (gnu++11 etc) on CMake
Change-Id: I17abd329c16cf0a61316186558828d0524b98281
2021-06-01 06:48:05 -04:00
Anusha GodavarthySurya 995e6bff13 SWDEV-255979 - Add support for dynamic __managed__ variables
Change-Id: I62b790853ea3ab3b7ac57bab389046c627fdecce
2021-06-01 05:09:51 -04:00
agodavar c654059c17 SWDEV-288708 - Rationalize HIP runtime and device version reporting
Change-Id: I49a7ee1fa9ae3ef5f26d99d18c0b8bb58cb9d5ce
2021-06-01 05:09:36 -04:00
Tao Sang f7e3347215 SWDEV-276853 - Add kernelVerify
Add kernelVerify for data verification and memory
reading performance checking in kernel.

Change-Id: Id3f9bcad75d643f493daf9d5f47b3a012a427179
2021-05-31 12:45:10 -04:00
Anusha GodavarthySurya 25f190a645 SWDEV-255979 - Enable __managed__ test for amd platform
Change-Id: I0cb31c1983e68e9010340770a56fc45b2a619dcd
2021-05-31 05:35:05 -04:00
Satyanvesh Dittakavi 3488785a89 SWDEV-286231 - Fix hipMallocManaged tests failure
Test is modified as hipMemAttachHost is accepted now by hipMallocManaged

Change-Id: If73d210297cde7a92960eef57a902dbd6402a173
2021-05-31 04:10:47 -04:00
Anusha GodavarthySurya d25dc8af85 SWDEV-287027 - Improve launch bounds error log message
Change-Id: I3229580daa97f141de89bacddfce45cd43f24b19
2021-05-31 01:51:58 -04:00
German Andryeyev 0e11c59272 SWDEV-240804 - Fix typos in the comments
Change-Id: Ic1385daf1e685772b02a11d43fb13f6cde74c4b7
2021-05-29 00:31:46 -04:00
Vladislav Sytchenko 691c77c0f9 SWDEV-273235 - Fix warning in the cmake build
Change-Id: I8f9d51ea676cb015abf47a2998fa053c2d4a6e81
2021-05-28 11:20:52 -04:00
Vladislav Sytchenko 8e9e26b1a9 SWDEV-273235 - Disable versioning for Windows
Not yet supported.

Change-Id: I9840120e1e5c40c6d3004229c4a5b06fd42cf4b6
2021-05-28 11:20:37 -04:00
Vladislav Sytchenko 2884650eb8 SWDEV-273235 - Fix Windows CMake build
Change-Id: Idcf89ac20b4f275de33e9f6edd009706f8c432fb
2021-05-28 11:20:23 -04:00
Vladislav Sytchenko d013aa2639 SWDEV-273235 - Restore ec22410
Change-Id: Id2d3e54dc4f35974c12ecbec661a005cac90e5b1
2021-05-28 11:08:17 -04:00
German Andryeyev 8716b0f4de SWDEV-287137 - Add extra blocking marker
HIP should block the stream until callback is done. This change
will introduce extra marker that will block the queue.
Note: MT path doesn't really require extra marker, but the logic
is identical to avoid extra checks for direct dispatch

Change-Id: Ib90fd2d751adf337f5e43ac6098e84767530233b
2021-05-27 21:17:18 -04:00
Vladislav Sytchenko e34a7e8c0c SWDEV-273235 - Initial support for Windows CMake
This change is tied to the ROCclr cmake rework. ROCclr will now be built
as part of HIP itself.

All the dependencies on comgr and rocr have been moved into ROCclr
itself. This allows HIP to pull in all the required compiler/runtime
dependencies by simply linking against ROCclr. Note that ROCclr needs to
be configured from HIP cmake command line. If not, we will default to
LC + ROCr support.

Since HIP depends on ROCclr and ROCclr depends on OpenCL, HIP will
transitevly pull in all the required OpenCL headers. No need to keep a
local copy of them anymore.

Change-Id: Ib39f4929e88da1248be962490c150b10fc7abd3a
2021-05-27 15:21:05 -04:00
Anusha GodavarthySurya ba28a01258 SWDEV-288065 - allow hipcc to recognize .C files
Change-Id: I0ec884eb6e083e823cf27ca1251c354a7f3b744c
2021-05-26 10:25:57 -07:00