Commit Graph

13474 Commits

Author SHA1 Message Date
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
Vladislav Sytchenko 6046e6fea4 SWDEV-273235 - ocltst build fixes
Correctly reference the new amdocl target.

Do not use hardcoded paths to libamdocl64.so, instead query the path to
it from cmake.

Change-Id: I4738dd8d6d08f9fb72fdd725b6488b81342755a4
2021-06-07 14:25:28 -04:00
Vladislav Sytchenko bc5c8df20b SWDEV-289871 - Restore missing -Bsymbolic option
-Bsymbolic is required to make sure all AMD OpenCL runtime symbols are
resolved internally, otherwise ld might resolve them using symbols from
the OpenCL ICD. This will cause incorrect functions to be called.

Change-Id: I4ca0326a574ee2e537525bfda96ec20fabfe0158
2021-06-07 14:22:53 -04: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
Vladislav Sytchenko c6eadce180 SWDEV-273235 - Enable building clinfo/cltrace on Windows
This patch also includes additional cleanup logic to the installation
rules. The OpenCL ICD already defines its own installation rules, no
need to duplicate them.

Change-Id: Id1c386307a83b82e21f6fa132e41957d9b348fd3
2021-06-05 12:52:31 -04: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
Vladislav Sytchenko 58c93c8047 SWDEV-273235 - Do not use target_link_options()
Some CI systems have a somewhat out of date version of cmake, which
does not have this functionality. Fall back to using
target_link_libraries() instead.

Change-Id: I2410b24bcb6f1be2c2c3303ccd0019b10c914d2e
2021-06-02 21:03:28 -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 75b232eea2 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 amdocl.def file is being added. The
amdocl.def.in file will be removed later, as the Makefile build still
uses it.

Change-Id: I33a4151af0257d56d46cd27cbd028b34b77b706b
2021-06-02 12:56:14 -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
Vladislav Sytchenko 40f87d6d86 SWDEV-273235 - Remove unused logic
git is invoked to populate OPENCL_VERSION_GITDATE, but the value is no
where to be used in the project.

Change-Id: Iceae650e6260c2ccd749f582034fc09205b4af7a
2021-06-01 14:31:21 -04:00
Vladislav Sytchenko d53c19cfa5 SWDEV-273235 - Cleanup OpenCL installation logic
Don't use hardcoded install destinations. CMake will decide where things
should be installed based on platform.

Change-Id: Ifcf956181d3efb32d4ce6191a89c1ea225d0e8cc
2021-06-01 14:31:14 -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