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

1687 Коммитов

Автор SHA1 Сообщение Дата
Maneesh Gupta ff4fae7d20 hip_hcc package: add libstdc++-static as a rpm dependency
Change-Id: I83a79353492a6be3d788b7c0ce4a8f3aa740d9d9
2017-06-07 15:50:28 +05:30
Maneesh Gupta ff8ade59aa hipMemcpy-size test: reduce max size to make it work correctly on nvcc path
Change-Id: I9ce9f5a9e141ffd8ddf961269010b33358e02771
2017-06-07 15:25:54 +05:30
Maneesh Gupta a50f5ca0ac hipDeviceMemcpy test: make it functional on nvcc path
Change-Id: Id10c79b48747ed701adbd0a233c53cd60cfa743b
2017-06-07 15:24:44 +05:30
Maneesh Gupta a7dc938ec0 p2p_copy_coherency test: gracefully handle single gpu case
Change-Id: I216663f67ef58c673136332635dab8b57079b909
2017-06-07 15:23:37 +05:30
Ben Sander c2baa4f6e6 Enable HCC_OPT_FLUSH=1.
Requires appropriate HCC with this support   :
commit 38e392b517a46a09a3b1c8f388e6a0db3741c510
2017-06-07 00:15:05 -05:00
Sun, Peng 3b6a863eef Improve HIP kernel names, attributes and codegen, contributed by Alex Voicu
Change-Id: I2cafbdc5a98e26c7f4fad84739c915e7dc09993c
2017-06-05 11:39:00 -05:00
Ben Sander 344b6cb0c0 Enable HIP_SYNC_NULL_STREAM=0 optimization. 2017-06-05 08:50:41 -05:00
Ben Sander 823281dcba 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 863b7c3f56 Update tests.
Fix some NVCC issues.
Add hipStreamSync2, record_event tests.
2017-06-04 20:18:37 -05:00
Ben Sander 15f54fb943 Update tests, add p2p coherency test. 2017-06-03 17:11:34 -05:00
Aditya Atluri fdcc223842 added half data type and vector destructors
1. Added half data types to hip_fp16.h
2. Added destructor to vector data types

Change-Id: Id5ae76a663bb90a4bde2839ec79c58fbaee5072f
2017-06-02 11:19:33 -05:00
emankov c5f9758f4b [HIPIFY] annotation 2017-06-02 16:33:48 +03:00
emankov e7779650e9 [HIPIFY] rename legacy hipify perl script and its usage to hipify-perl 2017-06-02 16:30:43 +03:00
Evgeny Mankov ee85243bcd [HIPIFY] All CUDA 8.0.44 API functions update
(for both Driver and Runtime APIs)

1) P2P
cuDeviceGetP2PAttribute   cudaDeviceGetP2PAttribute

2) Memory Mngmnt
cuMemPrefetchAsync        cudaMemPrefetchAsync
cuMemAdvise               cudaMemAdvise
cuMemRangeGetAttribute    cudaMemRangeGetAttribute
cuMemRangeGetAttributes   cudaMemRangeGetAttributes

3) Streams (Driver API only, no analogues in Runtime API)
cuStreamWaitValue32
cuStreamWaitValue32
cuStreamWriteValue32

4) Texture Reference Mngmnt (Driver API only, no analogues in Runtime API)
cuTexRefSetBorderColor
cuTexRefGetBorderColor
2017-06-01 21:08:33 +03:00
Siu Chi Chan 969931b1ce fix atomicCAS:remove load for the return value after CAS 2017-05-31 15:20:19 -04:00
Evgeny Mankov 463c026976 [HIP] [HIPIFY] CUDA Driver API 8.0.44 JIT options support. 2017-05-31 18:55:29 +03:00
Maneesh Gupta 06ee0d3704 Fix hipMemoryAllocate test for single GPU
Change-Id: If121c18ab490ba125dc689ffc08a8839fd280c38
2017-05-31 10:16:57 +05:30
Maneesh Gupta 2145e94049 Disable rcbrtf, scalblnf, scalbnf in single precision device test
Change-Id: I8a250a64a0cb05132d022a11d9766ced9cdf11a7
2017-05-31 10:16:19 +05:30
Maneesh Gupta da19087ae2 Disable rcbrt, scalbln and scalbn double precision device test
Change-Id: I46bd895701c46d3592b553090cafba99e41a2e2d
2017-05-31 10:15:41 +05:30
Sandeep Kumar f6b98854ba Add readme for inline asm and unroll cookbook samples
Change-Id: I71b7a5652c3dad181c5df60ab0dd1b81d79f1bfb
2017-05-31 09:25:50 +05:30
Sandeep Kumar c964a5f208 Add inline asm hip directed tests for v_add and v_mac
Change-Id: Ie5ace2e42d5da89b16e040537df2bb13d3883c6d
2017-05-31 09:25:40 +05:30
Sandeep Kumar 5696eaf842 Add unroll and inline asm cookbook samples
Change-Id: Ie5a0fbb01b7fca82959090d89299533d49e092f1
2017-05-31 09:25:35 +05:30
Sandeep Kumar e104c2e3bf Print msg for single gpu
Change-Id: I2d23c73542add8973990ba96592016726994422e
2017-05-31 09:25:17 +05:30
Ben Sander 6cc5dc0326 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 997ed19bb8 [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 a020eb76dd [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 ef86f943ac [HIPIFY] Add more CUDA Driver API 8.0.44 Data structures. 2017-05-30 17:58:13 +03:00
Maneesh Gupta 445012d451 Disable normcdfinvf on __host__
Change-Id: If7bfc9826a09eb9b7675ea2a417b9418759b7912
2017-05-30 15:45:22 +05:30
Ben Sander 942ec0eff8 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 c8178c6838 Cleanup hipEvent. (Intermediate checkpoint)
Support hipEventDisableSystemRelease flag.
Update test.
Remove stray printf
2017-05-27 16:02:34 -05:00
Ben Sander 8dc968f036 Updates so hip compiles on CUDA. 2017-05-27 15:55:07 -05:00
Ben Sander b2b620c12b 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 a3595d2e8c fix hip_fast_dsqrt* to call a double fp sqrt function 2017-05-25 23:15:30 -04:00
Evgeny Mankov a19ecab3f2 [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 35212632e7 Remove HIP_NUM_KERNELS_INFLIGHT. (redundant with HCC controls) 2017-05-24 01:03:28 -05:00
Ben Sander dda70ae514 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 d43d57d39c Remove HIP_MAX_QUEUES (replaced with HCC_MAX_QUEUES) 2017-05-23 23:48:01 -05:00
Ben Sander 92bd54d7b3 Expand test to cover copy followed by event sync 2017-05-23 23:15:45 -05:00
Ben Sander 2d5b3359c6 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 ca07615c37 Fix trace category for hipHostMalloc 2017-05-23 23:15:45 -05:00
Evgeny Mankov 21d74f09b9 [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 490355203b fixed erfinv build error as it is implemented in hcc
Change-Id: I27a512147c53f658a63fdf3e90f5e9cfac09ada8
2017-05-23 09:32:19 -05:00
pensun 2523f8a492 fix GGL helper header file, reorder for C++17
Change-Id: I3d9ddfe670bf7e3e8e7bd85e52cc61f48c19c213
2017-05-22 08:52:43 -05:00
Evgeny Mankov 51b7420359 [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 ae9f14ef9c [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 0433a2e608 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 ee37a31799 Return precise address for hipHostGetDevicePointer. 2017-05-17 07:36:06 -05:00
Aditya Atluri 93fa174900 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 848d77ebb5 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 fad9104b5f Fix HIP_TRACE_API so kernel launch only printed when requested. 2017-05-16 19:04:25 -05:00