Alex Voicu
c505c2be38
Re-sync with upstream.
...
[ROCm/clr commit: 602280eb8b ]
2018-10-18 12:27:03 +01:00
Maneesh Gupta
50e89b0a30
Replace hipLaunchKernel -> hipLaunchKernelGGL
...
Change-Id: I4d99009e1199811d417becf1e1b934ec4d4e30be
[ROCm/clr commit: e1fe095471 ]
2018-10-17 14:32:25 +05:30
Maneesh Gupta
c4ed6b18fb
Implementation for stream priority
...
- Requires ROCm 1.9.x or higher
- Requires HCC with PR#886 merged
Change-Id: Id7c95ea091ee610e80c9ad815f1cb989cba570ca
[ROCm/clr commit: 07ee1f07d8 ]
2018-10-05 16:27:46 +05:30
Alex Voicu
f5d204450c
Align with HC Next.
...
[ROCm/clr commit: 26c26f63cb ]
2018-09-17 11:50:29 +03:00
Maneesh Gupta
46ddefedee
Apply .clangformat to all repo source files
...
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
[ROCm/clr commit: 9e47fccc89 ]
2018-03-12 11:29:03 +05:30
Maneesh Gupta
469ffecc71
hipStreamAddCallback.cpp: Replace unistd sleep with sleep_for
...
Change-Id: I7a5d40a1acd8be76a0f175bcfa731ad89fb88d81
[ROCm/clr commit: 3aab52d7cc ]
2018-01-31 10:48:17 +05:30
Maneesh Gupta
b2bb274b7e
Fix hipStreamAddCallback testcase for nvcc
...
Change-Id: Ieec4b8d7933d8d68394d21d27132da206111efc8
[ROCm/clr commit: 6a37c60eaa ]
2018-01-30 12:32:46 +05:30
Maneesh Gupta
290b5f1738
Implement hipStreamAddCallback
...
Change-Id: Ib851e4d86ba9c8406ca37b88162ea483ccbc9d36
[ROCm/clr commit: cd9ba0d1e1 ]
2017-12-19 16:06:14 +05:30
Phaneendr-kumar Lanka
033e2cde33
[nvccWarnings] Fix warnings seen with dtests on nvcc path
...
[ROCm/clr commit: 0ac125e3db ]
2017-12-14 14:10:37 +05:30
Ben Sander
c9f031bc72
Temporarily disable a couple tests pending some HCC work
...
[ROCm/clr commit: 721d862089 ]
2017-12-01 21:46:28 +00:00
Alex Voicu
a27fa25d76
Revert "Revert adoption of CUDA indexing in general - this can only work with later versions of the compiler, just like module based dispatch, and thus must be guarded against usage in earlier (e.g. 1.6) versions."
...
This reverts commit 1cd6416
[ROCm/clr commit: 4966518846 ]
2017-11-29 21:49:10 +00:00
Alex Voicu
a1d5f0ab0c
Revert "Revert adoption of CUDA indexing in general - this can only work with later versions of the compiler, just like module based dispatch, and thus must be guarded against usage in earlier (e.g. 1.6) versions."
...
This reverts commit d2fd1f5
[ROCm/clr commit: 2557000b56 ]
2017-11-29 21:36:29 +00:00
Alex Voicu
9cf73ef515
Re-sync with upstream.
...
[ROCm/clr commit: 30d90dab38 ]
2017-11-20 15:34:50 +00:00
Alex Voicu
af0ae5421c
This implements the trivial change needed to move back from the hip{Something}_{x, y, z} macros to the natural CUDA syntax of Something.{x, y, z}. This is contained in lines 384-404 in hip_runtime.h. All of the other changes have to do with changing unit tests to use this syntax. The macros are retained for backwards compatibility.
...
[ROCm/clr commit: 0cc921f103 ]
2017-11-19 01:54:12 +00:00
Alex Voicu
12f00d4881
Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
...
# Conflicts:
# tests/src/runtimeApi/stream/hipStreamSync2.cpp
[ROCm/clr commit: f7919a8321 ]
2017-11-08 10:26:30 +00:00
Alex Voicu
142213a52b
Clean up trailing whitespace so as to reduce noise in #246 .
...
[ROCm/clr commit: 0ad1308efd ]
2017-11-08 00:08:55 +00:00
Phaneendr-kumar Lanka
700890e19a
More tests for memory,stream & error APIs
...
[ROCm/clr commit: 7427abba04 ]
2017-11-06 11:31:52 +05:30
Alex Voicu
b738633bcb
This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
...
[ROCm/clr commit: 28f87f7d2e ]
2017-11-01 15:09:59 +00:00
Ben Sander
b45217fef0
Refactor hipStreamWaitEvent
...
- Null streams use same flow as non-null.
- Add HIP_SYNC_STREAM_WAIT
- Resolve null stream.
[ROCm/clr commit: ed8c3ba7e7 ]
2017-08-31 03:00:14 +00:00
Rahul Garg
b6e1129b22
Enable hipStreamSync2 and record_event dtests
...
[ROCm/clr commit: 3e4df05632 ]
2017-08-24 15:51:58 +05:30
Maneesh Gupta
1d986efecf
[dt] temporarily disable broken tests
...
Change-Id: I3ce23e410dc36e06d460263d768412f8368a6699
[ROCm/clr commit: 814eddcd96 ]
2017-07-18 11:17:02 +05:30
Ben Sander
7237ed04f3
Fix HIP_SYNC_NULL_STREAM=0 mode.
...
- Fix null-stream sync
- hipStreamDestroy of null stream returns hipErrorInvalidResourceHandle
- Update documentation.
- Add tests for null stream sync, hipEventElapsedTime.
- Rename internal enum hipEventStatusRecorded to hipEventStatusComplete
- refactor hipStreamWaitEvent to streamline control-flow
[ROCm/clr commit: 823281dcba ]
2017-06-05 08:50:22 -05:00
Ben Sander
be21cd1a91
Update tests.
...
Fix some NVCC issues.
Add hipStreamSync2, record_event tests.
[ROCm/clr commit: 863b7c3f56 ]
2017-06-04 20:18:37 -05:00
Ben Sander
9442c6dd2d
Updates so hip compiles on CUDA.
...
[ROCm/clr commit: 8dc968f036 ]
2017-05-27 15:55:07 -05:00
Ben Sander
59e07db865
Expand test to cover copy followed by event sync
...
[ROCm/clr commit: 92bd54d7b3 ]
2017-05-23 23:15:45 -05:00
Ben Sander
4ac6ac9d1d
Add initial HIP_SYNC_NULL_STREAM=0 mode.
...
This eliminates host-synchronization for null stream. Instead, the
null-stream uses GPU-side events to wait for other streams.
Default is OFF pending additional testing.
Add enhanced null-stream test.
Also refine HIP_TRACE_API.
[ROCm/clr commit: 8bc6ee5932 ]
2017-05-16 19:04:25 -05:00
Ben Sander
a8d917c092
split debugging into separate .md file
...
[ROCm/clr commit: 61c8633113 ]
2017-05-16 19:04:25 -05:00
Ben Sander
90e5930923
hipHostMalloc allocation are mapped to all devices by default.
...
Support hipHostMallocPortable flag.
Default flags are hipHostMallocPortable | hipHostMallocMapped.
Also:
-refactor tests to move addCount and addCountReverse into HipTest
namespace.
-test multi-GPU host memory.
[ROCm/clr commit: ff9bed6535 ]
2017-05-10 17:34:36 -05:00
Ben Sander
501d0b3161
Fix hipStreamWaitEvent for single GPU.
...
[ROCm/clr commit: ae9fdf9bc1 ]
2017-05-10 13:23:49 -05:00
Ben Sander
48fdf2fc93
Update streamEventTEst.
...
- add checks for events across devices.
- refactor test to make sure it runs long enough to sensitive sync
techniques.
- add tests for DeviceSync, streamWaitEvent.
[ROCm/clr commit: 444e4a20ba ]
2017-05-05 17:29:04 -05:00
wsttiger
618f4bf702
Improve hipStreamWaitEvent test.
...
- use addOne kernel, use local initializer rather than init_array.
- use addOneReverse test to add from back of array. Test alternate fwd and backward to stress dependency logic.
- check device-side dependencies.
[ROCm/clr commit: a10d37e5e6 ]
2017-05-05 17:29:04 -05:00
Aditya Atluri
42c627fbe8
Moved device code to mimic cuda header behavior
...
1. All fp32, fp64 math device/host functions should be in math_functions.h/.cpp
2. All fp32, fp64 fast math intrinsics for device/host functions should be in device_functions.h/.cpp
3. All the device code implementations should be in device_util.h/.cpp
4. Hence, made changes appropriately by moving code and creating new header files
5. Added math_functions.cpp/.h
6. Changed #ifndef signature to make sure no conflicts between headers with same names in hip/hip_runtime.h and hip/hcc_detail/hip_runtime.h
7. Changed tests to fit the code changes, making them to include appropriate headers
8. Added math_functions.cpp to CMakeLists.txt
9. Some of the tests are still broken, mostly host math functions will fix them in next commit
10. TODO: FIX compilation issues for host math functions
Change-Id: I7a17637d7e294a7d224ffba932c1a08668febd26
[ROCm/clr commit: d23b6b8694 ]
2017-01-17 14:57:51 -06:00
pensun
b98e815865
Modify hipStreamAddCallback test case to consider both NULL stream and stream
...
Change-Id: I8468c988f0f01c7d3f3176a01469d69bf7a68237
[ROCm/clr commit: 4a93beb3b0 ]
2016-10-23 12:36:02 -05:00
pensun
57fab304c7
Add direct test for hipStreamAddCallback workaround
...
Change-Id: I890574eb30a76922888846882986edd0dc345309
[ROCm/clr commit: ad09270d7b ]
2016-10-23 12:18:09 -05:00
Maneesh Gupta
6b41768920
Remove deprecated make and cmake files
...
Change-Id: I8cac0ec9cb997214559627425af207bbb9be0ddf
[ROCm/clr commit: c4dd17cce9 ]
2016-10-07 11:44:26 +05:30
Maneesh Gupta
43d07079e9
directed tests: Updated to use new hip include path
...
Change-Id: Iab1aee638b7158eb9674a19625dedf6471947e51
[ROCm/clr commit: 5947878247 ]
2016-10-04 22:20:50 +05:30
Maneesh Gupta
bac30c4561
directed tests: Enable remaining tests in HIT infrastructure
...
Change-Id: I800ee00d6f7d339bb5d2ed898a16362a8541ed3a
[ROCm/clr commit: 1e8282327b ]
2016-09-27 17:24:33 +05:30
Ben Sander
c75953a822
Add hipStreamQuery
...
Change-Id: Ib0813b1065feba4fe9ae861d24cfc6f9c5f580be
[ROCm/clr commit: fd67689114 ]
2016-09-07 15:18:34 -05:00
Ben Sander
c5f7fd723a
refactor ihipPreLaunchKernel phase#1
...
- Fix calls to HIP_INIT_API to pass all function arguments.
- Change ihipFunction to follow coding convention:
- leading underscore for member fields,
- camelCase for member fields.
- move kernel print function inside ihipPreLaunchKernel.
- add HIP_TRACE_API_COLOR, control color of messages.
- add ihipLogStatus wrapper to hipDeviceSynchronize()
Change-Id: I20bbb644da213f821404648945197254e3648fc9
[ROCm/clr commit: 745310399d ]
2016-09-07 15:18:34 -05:00
Ben Sander
2d662d866f
add hipStreamQuery on nvcc, fix hipStreamWaitEvent for nvcc
...
[ROCm/clr commit: 9466ab4fca ]
2016-09-02 17:26:16 -05:00
Ben Sander
589f28547e
hipStreamWaitEvent update.
...
Add passed to hipStreamWaitEvent test.
Fix pointerAttrib test to work with new and old HCC versions.
Minor code touchup.
Change-Id: I139ba6ce9f6bf2b4bee89aebdec5981b4346ffc0
[ROCm/clr commit: 8e883ab666 ]
2016-09-02 09:46:59 -05:00
Ben Sander
b570732b0e
Add test for hipStreamWaitEvent
...
Change-Id: I157b33a78a0fc125b4b85f611f32f3b492f1b4d9
[ROCm/clr commit: 8ec453a8c1 ]
2016-09-02 09:46:59 -05:00
Ben Sander
caf2bc8208
Fix test project names
...
Change-Id: I105c3759208ec832f3bdf6068029b4bfa2827909
[ROCm/clr commit: 20a164be6a ]
2016-06-17 15:18:57 -05:00
Ben Sander
b31b23ff1d
Refactor directed test infrastructue.
...
- Add hierarchy. Tests now live in directories, each with its own
CMakeFiles.txt. Reduces merge conflicts.
- Change make_hip_executable -> build_hip_executable.
- Refresh docs.
- Enable some tests that were previously built but not run.
Change-Id: I8c5de3c954400bf233904282b8b42861a2b7c536
[ROCm/clr commit: 3feb13c8f6 ]
2016-06-17 15:18:57 -05:00