Commit Graph

13218 Commits

Author SHA1 Message Date
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
Vladislav Sytchenko ae36b6c0aa SWDEV-273235 - Fix warning in the cmake build
Change-Id: I9840da22fcce11712c32e68f07ad886d08c8b16f
2021-05-27 18:09:26 -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
Vladislav Sytchenko 1c16690617 SWDEV-273235 - Initial support for Windows CMake
This change is tied to the ROCclr cmake rework. ROCclr will now be built
as part of OpenCL itself.

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

Change-Id: I5271302d073aef8cfa617828d218c856711bf9ba
2021-05-27 13:08:12 -04:00
Jason Tang 1b832c0182 SWDEV-287945 - LinuxPro: Disable PAL for gfx9+
Change-Id: Ief81629e53a4c0ca529a510dac5063a8885257bf
2021-05-27 11:05:43 -04:00
Chauncey Hui be7bb4b63c SWDEV-2 - Change OpenCL version number from 3314 to 3315 2021-05-27 03:00:06 -04:00
Anusha GodavarthySurya ba28a01258 SWDEV-288065 - allow hipcc to recognize .C files
Change-Id: I0ec884eb6e083e823cf27ca1251c354a7f3b744c
2021-05-26 10:25:57 -07:00