Commit grafiek

44 Commits

Auteur SHA1 Bericht Datum
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