Wykres commitów

1652 Commity

Autor SHA1 Wiadomość Data
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
Rahul Garg 1cb51d614e hipMemcpy2DAsync for HIP/NVCC
Change-Id: I46f0057fef49bdaaac41c1df80c3e27432b8f376
2017-05-04 06:47:55 +05:30
Evgeny Mankov 9b65358c68 [HIPIFY] CUDA RT memcpy functions update.
cudaMemcpyFromSymbol -> hipMemcpyFromSymbol
cudaMemcpyFromSymbolAsync -> hipMemcpyFromSymbolAsync
cudaMemcpy2DAsync -> hipMemcpy2DAsync
2017-05-03 23:05:44 +03:00
Evgeny Mankov 1269897606 [HIPIFY] Blas update: add a few functions, supported by HIP.
cublasDaxpy -> hipblasDaxpy
cublasDgemv -> hipblasDgemv
cublasDger  -> hipblasDger
cublasDgemm -> hipblasDgemm
cublasDgemmBatched -> hipblasDgemmBatched
cublasGetStream -> hipblasGetStream
cublasSetStream -> hipblasSetStream
cublasDaxpy -> hipblasDaxpy
2017-05-03 22:45:56 +03:00
Evgeny Mankov 70c94d7b83 [HIPIFY] HIPIFY and HIP sync with CUDA Driver API data types.
+ Update CUDA_Driver_API_functions_supported_by_HIP.md.
+ Final update of HIPIFY with CUDA driver data types.

[TODO] Syncing HIPIFY and HIP by CUDA Driver API functions.
2017-05-03 21:59:48 +03:00
Rahul Garg ec27c695c4 Added support for hipMemcpy2DAsync in HIP/HCC
Change-Id: Ia4a8306f2dc1e33a81a7195ec29aef652fcccc4b
2017-05-03 22:29:12 +05:30
Evgeny Mankov c7958cbb8b [HIPIFY] Rename enumConstantDecl -> enumDecl
Reason: not to mix up with clang's enumConstantDecl, used for enum DeclRefExpr (enum constant).
2017-04-28 21:59:33 +03:00
Evgeny Mankov eddd021996 * [HIPIFY] [FIX] Replacement error: enum cudaMemcpyKind kind -> hipMemcpyKindyKind kind
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/72

[Solution] [Workaround]
Offset calculation for enum VarDecl as param decl, declared with enum type specifier.

[Result]
enum cudaMemcpyKind kind -> enum hipMemcpyKind kind

[ToDo]
Test on terminal qualifiers (const, etc).
2017-04-28 21:45:36 +03:00
Evgeny Mankov 3d88932c8d [HIPIFY] [FIX] replacement error: cudaError_t -> hipError_t_t
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/71

[Solution]
getUnqualifiedType for enumConstantDecl's type is added, except ordinary enum declarations (w/o typedef).

[ToDo]
Find more appropriate way of distinguishing redefined enum declarations and ordinary ones.
2017-04-28 21:03:03 +03:00
Aditya Atluri a5cb2d40ec fixed hipFuncSetCacheConfig on rocm path
Change-Id: I937a3afbf115edc94a753a0beb2230ed60a6f021
2017-04-28 11:53:11 -05:00
Aditya Atluri ab2eb420e2 fixed fast math expf and exp10f
Change-Id: I73963220f902efebb0a7404c5f8966dffb4c35ca
2017-04-26 19:01:10 -05:00
Aditya Atluri fc6248ce82 added hipFuncSetCacheConfig API for nvcc path
Change-Id: I87fae35bc0e10a0dca5ae1c5015fe5d9e52a1d0d
2017-04-26 18:56:57 -05:00
Maneesh Gupta ff454e4b8e Merge branch 'amd-master' into amd-develop 2017-04-26 23:55:13 +05:30
Sun, Peng 54561c8af3 fix hip_complex.h header on NV path
Change-Id: Ia95d003ca1b284bab1c76723050e6b3b89178f65
2017-04-25 00:15:20 -05:00
Ben Sander cd93a2f229 Add host offset checking 2017-04-24 22:30:54 -05:00