Commit Graph

299 Commits

Author SHA1 Message Date
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
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 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
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
Anusha GodavarthySurya d25dc8af85 SWDEV-287027 - Improve launch bounds error log message
Change-Id: I3229580daa97f141de89bacddfce45cd43f24b19
2021-05-31 01:51:58 -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
Aaron En Ye Shi ec22410ca5 SWDEV-283266 - Fix Linux Pro build for hiprtc
Linux Pro build uses the LLVM_ROOT variable to
specify where llvm is located. We must use a different
name, HIP_LLVM_ROOT for LLVM's prefix location.

Change-Id: I28baf8672217a438a5dd45829d9af04b3553f615
2021-05-26 10:37:44 -04:00
Satyanvesh Dittakavi e9ac835e0e SWDEV-285521 - SWDEV-284626 - Fix P2P and Caffe2 test failures
- waitList was released before the awaitcompletion
causing stream sync after the async copies fail

- Enable the hipPeerToPeer_simple test

Change-Id: I1eeaa7e6320ab38c106902078f034dfec4c3f3ea
2021-05-21 02:54:22 -04:00
kjayapra-amd 7fc700c348 SWDEV-286346 - Implement Arena Memory Object for externally created memory.
Change-Id: I1aae0d24b28eebaf7f67e941aaa475a53831e9b8
2021-05-18 10:24:40 -04:00
German Andryeyev 302e527225 SWDEV-240804 - Allow system memory creation.
Always allocate managed memory in ROCclr and backend will decide
what kind of memory to use. Currently ROCclr should fall to
GPU accessible system memory if HMM isn't available

Change-Id: I71328687b2dd4a3f563571f2b755079d82dca433
2021-05-18 09:32:57 -04:00
Julia Jiang 77ba798177 SWDEV-286322 - Fix EOL
Change-Id: Ie266135ebf754b5af27c1dc768bda1ca0245d936
2021-05-14 11:32:55 -04:00
Aaron En Ye Shi 9c873353cc SWDEV-283266 - Add hiprtc option to generate preprocessor expansion
Add -r/--generate_rtc option to hip_embed_pch.sh to generate the
preprocessor expansion output of the HIP headers for hipRTC mode.
Generates an object hiprtc_header.o and shared library libhiprtc.so
which can be used for hipRTC online compilations. Enable
__HIP_ENABLE_RTC by default in the CMake files.

Change-Id: Ief51b695c9b31941d929e06f16872f95eea3619b
2021-05-14 10:20:38 -04:00
Saleel Kudchadker 7b88ba5b57 SWDEV-283726 - Indicate profiler attached
Set profiler attached flag in VirtualGPU to inform ROCclr of it

Change-Id: I776c9fcd762cf02f3ce0f3c386d02384a224126c
2021-05-12 13:40:47 -07:00
Sourabh Betigeri ddff87b413 SWDEV-281034 - Occupancy calculations for gfx10.3 adjustments based on available VGPRs, SIMDs per CU and number of waves per SIMD.
Change-Id: I0e34decebc9f730fe0e0c3c3258f301de5748e72
2021-05-11 20:39:49 -04:00
Vladislav Sytchenko 20eff6c298 SWDEV-273235 - Fix HIP PCH build
hip_rtc.cpp refers to the symbol __hipGetPCH(), but that one can only be
found in hip_global.cpp. It's not referenced anywhere else, hence it
should be moved.

Change-Id: Ifc67b2f3b1b8344dec0e6c30d083d62288fb5e24
2021-05-11 17:40:32 -04:00
pghafari ccff5216f0 SWDEV-245532 - HIP - Vulkan interop semaphores
Change-Id: I89be5ee84d4728d76e1987d5016c944c0dbc9a96
2021-05-11 11:44:59 -04:00
Jason Tang 744dfa6d9d SWDEV-277566 - Add amd::Program::load interface
Change-Id: Iba32fd6add7b1c51b33a9ea899732044c0a064f6
2021-05-11 10:51:45 -04:00
Vladislav Sytchenko 0782883cb3 SWDEV-240806 - Fix Windows build
hipGraphAddHostNode and hipGraphAddMemcpyNode1D are not part of the HIP
graph implementation, hence they should not be exported.

Change-Id: Ia3d0188895fb4f64ebfa23d4a0a09c44438f878d
2021-05-11 10:07:49 -04:00
German Andryeyev 5d8cafef2d SWDEV-240804 - HMM changes
- Accept hipMemAttachHost flag
- Don't allocate HMM memory if HMM is disabled in KFD

Change-Id: I3d386eb0a109a19c16a87a728944a3a6669f643a
2021-05-10 13:50:21 -04:00
Anusha Godavarthy Surya 8cc0e04239 SWDEV-240806 - Initial commit for hipGraph and stream capture infrastructure
On StreamBegincapture captures the parameters passed to APIs and respective node will be created and added to graph
All parameters are passed to STREAM_CAPTURE macro, it checks if stream in capture mode and redirects the call to the capture function and returns
Updated hipStream and hipEvent with capture parameters
Added handling for hipStreamBeginCapture & hipStreamEndCapture

Change-Id: Ic8926a7b4336c2cc81f0b3a9a224aa392c474134
2021-05-07 17:38:16 -04:00
Maneesh Gupta 055a460f12 SWDEV-252801 - Fail if launch params exceeds launch_bounds
Change-Id: I90c8d0f1897ca63f00c3eec7c99d649a5c43416d
2021-05-06 22:38:50 -07:00
German Andryeyev df9de9a312 SWDEV-272496 - disable direct dispatch by default
Change-Id: I706387355add75852c570be2656131ef99e8958c
2021-05-06 16:17:26 -04:00
Vladislav Sytchenko ff3f6b2575 SWDEV-273235 - Allow explicitly disabling LF support
Currently LiquidFlash cannot be supported from Github Enterprise,
hence we need to be able to build with out it.

Allow this by setting -DWITH_LIQUID_FLASH=0.

Change-Id: If59afe45c02a1623639360dbcc3927360f16ebd3
2021-05-06 13:05:12 -04:00
Christophe Paquot f665936fe1 SWDEV-270599 - Refactored the way we get time from start/stop events in all cases
Change-Id: Id3f9bcad45d643e493daf9d5f47b3a032a427177
2021-05-03 13:16:36 -07:00
kjayapra-amd 31d412c292 SWDEV-245533 - Implementing Mipmap array APIs
Change-Id: I222c8d0fcbd50cdefd702462e689463bb36366d2
2021-04-30 16:33:43 -04:00
agodavar a2d4487cc6 SWDEV-283897 - SWDEV-283901 - Fix directed and performance test failure
Change-Id: Ia0e9ab5d172802403af7bf6568f985b82e799baf
2021-04-30 17:56:44 +00:00
Tao Sang b99efb9d67 SWDEV-283515 - Fix crashing in kernel launch on MGPUS
Fix wrong mixing of current device and stream device in
ihipModuleLaunchKernel() and hipLaunchCooperativeKernel().

Fix missing hipSetDevice() in hipMemcpyWithStream* tests.

Change-Id: I09333bb40d239bb42c832df5ea16d17eeaeff5e7
2021-04-29 14:46:47 -04:00
Anton Gorenko bcdfb0158b SWDEV-272536 - (PR-2229) Fix conversion of texture addressing mode
hipAddressModeClamp corresponds to CL_ADDRESS_CLAMP_TO_EDGE.
This change fixes incorrect sampling near texture edges.

https://github.com/ROCm-Developer-Tools/HIP/pull/2229

Change-Id: Ia2af9f3cb582a74af7b1f65bad1ed0310eab2628
2021-04-29 12:19:15 -04:00
Satyanvesh Dittakavi f845041f7d SWDEV-283213 - Fix hipMemset2D, 3D failures in Debug mode
If the width is 0, hipMemset2D or 3D APIs should return success
doing nothing
Change-Id: I97f8825d090a73ee63145e52d2b6d2cc0eddade3

Change-Id: I9d62fee70929ad0c79b947aa4cbbc8ab898fb64a
2021-04-28 18:53:53 -04:00
Rahul Garg 47fe205223 SWDEV-266973 - Add missing HIP_RETURN
Change-Id: Ib569a8cb030179b71406d47fd08c7e1e7ab6eb7c
2021-04-27 19:55:28 -04:00
German Andryeyev bae93cc42d SWDEV-244287 - Keep direct dispatch for Linux only
Change-Id: I09333bb40d239cb42c732df5ea16d17eeaeff5e6
2021-04-26 14:10:57 -04:00
German Andryeyev 678b1225e8 SWDEV-244287 - enable direct dispatch by default
Change-Id: If506566624a218a2dd443b794c5c400bd0b9ebf7
2021-04-24 02:33:46 -04:00
Rahul Garg 22fe144b08 SWDEV-229520 - Reenable hipEventIpc test
Change-Id: Ib40fb07a07cc447182e23664573c5e37a1194a32
2021-04-21 13:55:15 -04:00
Anusha GodavarthySurya 94f6202032 SWDEV-240806 - [hip-graph] hip_memory and hip_kernel separate command creation from enqueue
hipMemcpy1D all variants, hipMemcpy3D, hipMemset, hipMemset3D and hipLaunchKernel

Change-Id: Ieeb767cf87aa0546bc3b3d5d2e01ab618e0d285c
2021-04-20 11:04:42 -04:00
German Andryeyev dab4f5bdba SWDEV-278896 - Notify GPU about possible wait
Early notification allows CPU command state to be processed earlier.
Otherwise state update will be delayed until the actual possible
wait.

Change-Id: I0e9d6c2ad88e3723eab2f6dc9a20f288f6c1ca0c
2021-04-19 13:00:16 -04:00
Sarbojit Sarkar 6d317ef831 SWDEV-261977 - Updated API to return runtime version
Change-Id: Id2373843c854c83ba06854dd05c61755d0264d8f
2021-04-15 07:17:36 -04:00
Satyanvesh Dittakavi 191ce1dd05 SWDEV-279486 - Fix hipMemcpyPeer/hipMemcpy APIs
Addresses the scenarios when the size passed is more than
the allocated size and when the deviceid is invalid
Change-Id: I6c9b62639096f655ffb61976905b1ce8c5f51ee7

Change-Id: I8a0d660924a8e2300c517aba6f9088626b8f6ef5
2021-04-09 02:53:15 -04:00
Sarbojit Sarkar daf0cbca3c SWDEV-260454 - Fix for idenfying bad streams
Change-Id: I122ff6f47535c3c76ab56ba49ab1450ef886b15f
2021-04-07 12:13:30 -04:00
Sarbojit Sarkar 4af7a74482 SWDEV-276319 - Added null checks
Change-Id: Ib22a333f0f599c8f0efca34f2a287bc4b118d743
2021-04-01 05:11:16 -04:00
Sarbojit Sarkar 35c8493237 SWDEV-254441 - Fixed review comments
Change-Id: Ica13f23638be04216d152821127b2b7316f96af0
2021-04-01 00:21:19 -04:00
pghafari a9304f6111 SWDEV-245532 - HIP - Vulkan interop
Change-Id: Iba1ef8112e318b4f099da5a4a4602e0dae7de9e3
2021-03-31 10:23:31 -04:00
Anusha GodavarthySurya d9debabdc3 SWDEV-278873 - hipStreamCreate handle invalid flag value
Change-Id: I05c0e0b76f7b09947e48d5b9f225af305bade27f
2021-03-31 07:59:41 -04:00
Satyanvesh Dittakavi 68abfb4aff SWDEV-277152 - Add hipMemcpy2DToArrayAsync API in headers
Also, address few scenarios for hipMemcpy2DToArray/Async to return
proper error types

Change-Id: Idbadf666a5e7bebc0f3ea8b7048b79208e04cf6b
2021-03-27 13:50:38 -04:00
Maneesh Gupta dff604f557 SWDEV-187253 - Print warning if launch_params > bounds
Change-Id: I138546bf816887576e797105f97ce37245911045
2021-03-24 22:29:19 -07:00