Граф коммитов

6428 Коммитов

Автор SHA1 Сообщение Дата
Sandeep Kumar e4f0b28bb9 Add unroll and inline asm cookbook samples
Change-Id: Ie5a0fbb01b7fca82959090d89299533d49e092f1
2017-05-31 09:25:35 +05:30
Sandeep Kumar dfcba01db6 Print msg for single gpu
Change-Id: I2d23c73542add8973990ba96592016726994422e
2017-05-31 09:25:17 +05:30
Ben Sander cb60763737 Set event->_stream on hipHccModuleLaunchKernel path if start/stop used
Ensure _stream is always non-null in recorded events.
Fixes isDefaultStream fault.
2017-05-30 21:55:46 -05:00
Evgeny Mankov 063539308e [HIPIFY] Add the rest CUDA Runtime API 8.0.44 Data structures.
+ sync with corresponding CUDA Driver API Data structures.

P.S.
There is no any new changes in CUDA Runtime API 8.0.61 Data structures since 8.0.44.
2017-05-30 19:45:59 +03:00
Evgeny Mankov 1cc5f42e34 [HIPIFY] Add the rest CUDA Driver API 8.0.44 Data structures.
+ Memory advise values
+ Memory Range Attributes
+ P2P Attributes

P.S.
There is no any new changes in CUDA Driver API 8.0.61 Data structures since 8.0.44.
2017-05-30 18:29:14 +03:00
Evgeny Mankov 3e99bc23e7 [HIPIFY] Add more CUDA Driver API 8.0.44 Data structures. 2017-05-30 17:58:13 +03:00
Maneesh Gupta 4ff01c971f Disable normcdfinvf on __host__
Change-Id: If7bfc9826a09eb9b7675ea2a417b9418759b7912
2017-05-30 15:45:22 +05:30
Ben Sander ec7102f461 Add event controls for release fences.
Env var : HIP_EVENT_SYS_RELEASE
Event allocation flags : hipEventReleaseToDevice, hipEventReleaseToSystem
   (remove hipEventDisableSystemRelease)

Update test for new functionality.
2017-05-27 16:02:34 -05:00
Ben Sander 620eb30691 Cleanup hipEvent. (Intermediate checkpoint)
Support hipEventDisableSystemRelease flag.
Update test.
Remove stray printf
2017-05-27 16:02:34 -05:00
Ben Sander be8d0ba644 Updates so hip compiles on CUDA. 2017-05-27 15:55:07 -05:00
Ben Sander b251d72917 Add isDefaultStream() accessor.
Fix code that checked for stream==nullptr after stream had been
resolved to a "true stream".
2017-05-26 13:46:48 -05:00
Siu Chi Chan 1dce01f9bb fix hip_fast_dsqrt* to call a double fp sqrt function 2017-05-25 23:15:30 -04:00
Evgeny Mankov c863215611 [FIX] [HIPIFY] Add matchers for function return types.
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/73

Examples (https://github.com/thrust/thrust/blob/master/thrust/system/cuda/detail/trivial_copy.inl):

template<typename System1,
         typename System2>
cudaStream_t cuda_memcpy_stream(const thrust::cpp::execution_policy<System1> &,
                                const thrust::cuda::execution_policy<System2> &exec)

template<typename System1,
         typename System2>
cudaMemcpyKind cuda_memcpy_kind(const thrust::cuda::execution_policy<System1> &,
                                const thrust::cpp::execution_policy<System2> &)
2017-05-24 18:25:40 +03:00
Ben Sander 578d430bb3 Remove HIP_NUM_KERNELS_INFLIGHT. (redundant with HCC controls) 2017-05-24 01:03:28 -05:00
Ben Sander 75f691ec2f Add hipHostMallocCoherent, hipHostMallocNonCoherent
Provide per-allocation control over coherent/non-coherent mem.
These overrid the default HIP_COHERENT_HOST_ALLOC setting.
2017-05-24 00:48:10 -05:00
Ben Sander d0ef9d8462 Remove HIP_MAX_QUEUES (replaced with HCC_MAX_QUEUES) 2017-05-23 23:48:01 -05:00
Ben Sander 236ce70e94 Expand test to cover copy followed by event sync 2017-05-23 23:15:45 -05:00
Ben Sander 2b253a48b6 Use accelerator_scope for create_marker and create_blocking_marker.
As optimization when system-scope is not needed.
2017-05-23 23:15:45 -05:00
Ben Sander 7cfe07cff4 Fix trace category for hipHostMalloc 2017-05-23 23:15:45 -05:00
Evgeny Mankov 3d973dc4da [FIX] [HIPIFY] Matcher for new operator is missing.
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/80

Example from CUDA 8.0.44 sample (CUDASamples\0_Simple\matrixMulDrv\matrixMulDrv.cpp):
    CUjit_option *jitOptions = new CUjit_option[jitNumOptions];
where CUjit_option is enum, should be:
    hipJitOption *jitOptions = new hipJitOption[jitNumOptions];
2017-05-23 19:45:38 +03:00
Aditya Atluri 0559fc69e9 fixed erfinv build error as it is implemented in hcc
Change-Id: I27a512147c53f658a63fdf3e90f5e9cfac09ada8
2017-05-23 09:32:19 -05:00
pensun 6d0f58b939 fix GGL helper header file, reorder for C++17
Change-Id: I3d9ddfe670bf7e3e8e7bd85e52cc61f48c19c213
2017-05-22 08:52:43 -05:00
Evgeny Mankov b5a1d47e68 [HIPIFY] [FIX] [HIPIFY] Matcher for pointer to enum var declaration is missing.
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/79

Example from CUDA 8.0.44 sample (CUDASamples\0_Simple\matrixMulDrv\matrixMulDrv.cpp):
    CUjit_option *jitOptions = new CUjit_option[jitNumOptions];
where CUjit_option is enum, should be:
    hipJitOption *jitOptions = new hipJitOption[jitNumOptions];

[TODO]
1. new CUjit_option -> new hipJitOption.
   Matcher for new operator is missing:
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/79
2. Merge matchers cudaEnumDecl and cudaEnumVarPtr.
2017-05-19 17:39:09 +03:00
Evgeny Mankov 270f643c9c [HIP] [HIPIFY] [FIX] cuModuleLoadDataEx -> hipModuleLoadDataEx
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/81

1.	Do not use JIT options on HCC path, call hipModuleLoadData instead.
2.	NVCC path is unchanged, to call cuModuleLoadDataEx with all options.
3.	Get rid of manual hipification, based on #ifdef #else for NVCC/HIP.
4.	Update documentation accordingly.
2017-05-19 17:22:14 +03:00
Aditya Atluri bdc08fcf10 fixed vector type issues by reverting to old code, changed __half2 to map to vector types in llvm
Change-Id: I7317408c25e8c1a0c02a346042c9137e160c8bbd
2017-05-18 10:51:07 -05:00
Ben Sander 46030bb2d2 Return precise address for hipHostGetDevicePointer. 2017-05-17 07:36:06 -05:00
Aditya Atluri 9dceccf136 changed vector types to make sure it generate proper llvm vector types
Change-Id: I6c4616dae137dc4eac35e5827dc5b7f3251e0247
2017-05-16 21:35:40 -05:00
Ben Sander 2e1fec47ab Make hipMultiThreadStreams1 test a little harsher.
Fail faster if synchronization rules are violated.
Run vectorAddRevers to read last elements of array first - if the
vector add kernel starts before preceding copy finishes we
will read stale data and flag the error.

Increase default array sizes, so synchronization errors more easily
exposed.
2017-05-16 19:04:25 -05:00
Ben Sander 427f8472aa Fix HIP_TRACE_API so kernel launch only printed when requested. 2017-05-16 19:04:25 -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 c67b828a5a Update tests README 2017-05-16 19:04:25 -05:00
Ben Sander 704ba30b32 Doc update - split hip_debugging.md into separate file. 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 0edab14139 Add HIP_TRACE_API=4. Only display memory allocation/free apis. 2017-05-16 19:04:25 -05:00
emankov 30000ef130 [HIPIFY] *.inl extension support for batch processing 2017-05-16 19:52:39 +03:00
Evgeny Mankov 12d8c53c90 [HIPIFY] cudaMallocPitch -> hipMallocPitch 2017-05-16 18:21:25 +03:00
Rahul Garg 1223612331 Added hipMallocPitch on HIP/NVCC path
Change-Id: Ie3ba7d3f95acac23805efa919531043b350a3f21
2017-05-16 07:15:13 +05:30
Evgeny Mankov a97cb6810c [HIPIFY] CUDA Driver API: Primary Context Management support. 2017-05-15 15:35:52 +03:00
Aditya Atluri a43149135e added gfx900 to hipDeviceProp_t
Change-Id: I49e7a32f218926fd55f1c94c5dc2366d6c8ac4ca
2017-05-12 21:43:34 -05:00
Ben Sander 0679831384 Remove old USE_ switches no longer needed. 2017-05-12 16:06:03 -05:00
Ben Sander b306095ac2 Add hipEventDisableSystemRelease flag. 2017-05-12 16:06:03 -05:00
Evgeny Mankov 25d470c380 [HIPIFY] Fix string routines.
Some Clang tooling functions return std::string, some return StringRef. Assigning of returning std::string to StringRef variables leads to garbage in it.
DEBUG build is always affected.
2017-05-11 21:50:36 +03: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
Aditya Atluri a38e36ec2f added guard against hip_runtime.h so that non-hcc compilers can use it
Change-Id: I3d68deda9ce8a5956e21e15a69e549d6c21e3e39
2017-05-09 10:14:16 -05:00
Ben Sander 687809104b Fix some typos, add additional guidance for -BSymbolic 2017-05-05 17:29:04 -05:00
Ben Sander 6437f5d2b2 Refactor hipHostRegister test.
Run all tests in one command.
Run 128 offsets.
2017-05-05 17:29:04 -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
Evgeny Mankov 05be936fd6 [HIPIFY] LLVM 3.9 support
3.8 and 3.9 are both supported. 3.8 is stable, 3.9 needs more testing.
2017-05-05 21:28:02 +03:00