Graf commitů

41 Commity

Autor SHA1 Zpráva Datum
Alex Voicu c6720e882b Align with HC Next. 2018-09-17 11:50:29 +03:00
Maneesh Gupta 1ba06f63c4 Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
2018-03-12 11:29:03 +05:30
Maneesh Gupta e0b91d32dd hipStreamAddCallback.cpp: Replace unistd sleep with sleep_for
Change-Id: I7a5d40a1acd8be76a0f175bcfa731ad89fb88d81
2018-01-31 10:48:17 +05:30
Maneesh Gupta 5bce9ea5ef Fix hipStreamAddCallback testcase for nvcc
Change-Id: Ieec4b8d7933d8d68394d21d27132da206111efc8
2018-01-30 12:32:46 +05:30
Maneesh Gupta cebb070d30 Implement hipStreamAddCallback
Change-Id: Ib851e4d86ba9c8406ca37b88162ea483ccbc9d36
2017-12-19 16:06:14 +05:30
Phaneendr-kumar Lanka eea7d495c7 [nvccWarnings] Fix warnings seen with dtests on nvcc path 2017-12-14 14:10:37 +05:30
Ben Sander 62cbe22d50 Temporarily disable a couple tests pending some HCC work 2017-12-01 21:46:28 +00:00
Alex Voicu 32e11e7dc6 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
2017-11-29 21:49:10 +00:00
Alex Voicu fbaf729f88 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
2017-11-29 21:36:29 +00:00
Alex Voicu c5f2b22d0d Re-sync with upstream. 2017-11-20 15:34:50 +00:00
Alex Voicu cffd0e14eb 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. 2017-11-19 01:54:12 +00:00
Alex Voicu 3d248927e4 Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
# Conflicts:
#	tests/src/runtimeApi/stream/hipStreamSync2.cpp
2017-11-08 10:26:30 +00:00
Alex Voicu d8e323d4b5 Clean up trailing whitespace so as to reduce noise in #246. 2017-11-08 00:08:55 +00:00
Phaneendr-kumar Lanka 093279b10b More tests for memory,stream & error APIs 2017-11-06 11:31:52 +05:30
Alex Voicu c2482d1255 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. 2017-11-01 15:09:59 +00:00
Ben Sander 882dab4536 Refactor hipStreamWaitEvent
- Null streams use same flow as non-null.
- Add HIP_SYNC_STREAM_WAIT
- Resolve null stream.
2017-08-31 03:00:14 +00:00
Rahul Garg 4b98572f47 Enable hipStreamSync2 and record_event dtests 2017-08-24 15:51:58 +05:30
Maneesh Gupta b3a9e202b1 [dt] temporarily disable broken tests
Change-Id: I3ce23e410dc36e06d460263d768412f8368a6699
2017-07-18 11:17:02 +05:30
Ben Sander 39c18e5e5f 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
2017-06-05 08:50:22 -05:00
Ben Sander 8ce6d17983 Update tests.
Fix some NVCC issues.
Add hipStreamSync2, record_event tests.
2017-06-04 20:18:37 -05:00
Ben Sander be8d0ba644 Updates so hip compiles on CUDA. 2017-05-27 15:55:07 -05:00
Ben Sander 236ce70e94 Expand test to cover copy followed by event sync 2017-05-23 23:15:45 -05:00
Ben Sander 27877f8854 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.
2017-05-16 19:04:25 -05:00
Ben Sander db097ab392 split debugging into separate .md file 2017-05-16 19:04:25 -05:00
Ben Sander c3ccaa01e5 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.
2017-05-10 17:34:36 -05:00
Ben Sander e0c3ea15b2 Fix hipStreamWaitEvent for single GPU. 2017-05-10 13:23:49 -05:00
Ben Sander 2d0f509de5 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.
2017-05-05 17:29:04 -05:00
wsttiger 2a253680da 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.
2017-05-05 17:29:04 -05:00
Aditya Atluri b723169ee9 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
2017-01-17 14:57:51 -06:00
pensun 28aad46674 Modify hipStreamAddCallback test case to consider both NULL stream and stream
Change-Id: I8468c988f0f01c7d3f3176a01469d69bf7a68237
2016-10-23 12:36:02 -05:00
pensun a7438ac3ee Add direct test for hipStreamAddCallback workaround
Change-Id: I890574eb30a76922888846882986edd0dc345309
2016-10-23 12:18:09 -05:00
Maneesh Gupta 66f810ebaa Remove deprecated make and cmake files
Change-Id: I8cac0ec9cb997214559627425af207bbb9be0ddf
2016-10-07 11:44:26 +05:30
Maneesh Gupta 7e04884d0f directed tests: Updated to use new hip include path
Change-Id: Iab1aee638b7158eb9674a19625dedf6471947e51
2016-10-04 22:20:50 +05:30
Maneesh Gupta 4807279988 directed tests: Enable remaining tests in HIT infrastructure
Change-Id: I800ee00d6f7d339bb5d2ed898a16362a8541ed3a
2016-09-27 17:24:33 +05:30
Ben Sander 4e994a3025 Add hipStreamQuery
Change-Id: Ib0813b1065feba4fe9ae861d24cfc6f9c5f580be
2016-09-07 15:18:34 -05:00
Ben Sander 48b1f7a6ea 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
2016-09-07 15:18:34 -05:00
Ben Sander 1f40a73ae1 add hipStreamQuery on nvcc, fix hipStreamWaitEvent for nvcc 2016-09-02 17:26:16 -05:00
Ben Sander 0923c2d261 hipStreamWaitEvent update.
Add passed to hipStreamWaitEvent test.
Fix pointerAttrib test to work with new and old HCC versions.
Minor code touchup.

Change-Id: I139ba6ce9f6bf2b4bee89aebdec5981b4346ffc0
2016-09-02 09:46:59 -05:00
Ben Sander 472999f5a3 Add test for hipStreamWaitEvent
Change-Id: I157b33a78a0fc125b4b85f611f32f3b492f1b4d9
2016-09-02 09:46:59 -05:00
Ben Sander 55560ab8a0 Fix test project names
Change-Id: I105c3759208ec832f3bdf6068029b4bfa2827909
2016-06-17 15:18:57 -05:00
Ben Sander 1b69b2e9f0 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
2016-06-17 15:18:57 -05:00