Commit Graph

1608 Commits

Author SHA1 Message Date
Maneesh Gupta cdd3846478 Initial implementation of hipify-cmakefile
Change-Id: Id365da9f887b5c3409639f000b430d093fd4f6b3


[ROCm/clr commit: c5366a55f1]
2017-06-12 09:57:17 +05:30
Aditya Atluri e7813b1933 fixed erfinv build error as it is implemented in hcc
Change-Id: I27a512147c53f658a63fdf3e90f5e9cfac09ada8


[ROCm/clr commit: 490355203b]
2017-05-23 09:32:19 -05:00
pensun f848e9f117 fix GGL helper header file, reorder for C++17
Change-Id: I3d9ddfe670bf7e3e8e7bd85e52cc61f48c19c213


[ROCm/clr commit: 2523f8a492]
2017-05-22 08:52:43 -05:00
Evgeny Mankov aebc80c8e0 [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.


[ROCm/clr commit: 51b7420359]
2017-05-19 17:39:09 +03:00
Evgeny Mankov 052f630bd3 [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.


[ROCm/clr commit: ae9f14ef9c]
2017-05-19 17:22:14 +03:00
Aditya Atluri 905ab9a689 fixed vector type issues by reverting to old code, changed __half2 to map to vector types in llvm
Change-Id: I7317408c25e8c1a0c02a346042c9137e160c8bbd


[ROCm/clr commit: 0433a2e608]
2017-05-18 10:51:07 -05:00
Ben Sander 8c50285d30 Return precise address for hipHostGetDevicePointer.
[ROCm/clr commit: ee37a31799]
2017-05-17 07:36:06 -05:00
Aditya Atluri 0318e91450 changed vector types to make sure it generate proper llvm vector types
Change-Id: I6c4616dae137dc4eac35e5827dc5b7f3251e0247


[ROCm/clr commit: 93fa174900]
2017-05-16 21:35:40 -05:00
Ben Sander 33cfd1a35e 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.


[ROCm/clr commit: 848d77ebb5]
2017-05-16 19:04:25 -05:00
Ben Sander c098221a46 Fix HIP_TRACE_API so kernel launch only printed when requested.
[ROCm/clr commit: fad9104b5f]
2017-05-16 19:04:25 -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 db102ab82f Update tests README
[ROCm/clr commit: 5d2072aba1]
2017-05-16 19:04:25 -05:00
Ben Sander b8b6cfe02e Doc update - split hip_debugging.md into separate file.
[ROCm/clr commit: a5a12942b2]
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 ee05975efa Add HIP_TRACE_API=4. Only display memory allocation/free apis.
[ROCm/clr commit: 7e7ba5027f]
2017-05-16 19:04:25 -05:00
emankov 9a097161ac [HIPIFY] *.inl extension support for batch processing
[ROCm/clr commit: f6a0cb3afc]
2017-05-16 19:52:39 +03:00
Evgeny Mankov b2fa897ded [HIPIFY] cudaMallocPitch -> hipMallocPitch
[ROCm/clr commit: 221faeb916]
2017-05-16 18:21:25 +03:00
Rahul Garg 293524f1dc Added hipMallocPitch on HIP/NVCC path
Change-Id: Ie3ba7d3f95acac23805efa919531043b350a3f21


[ROCm/clr commit: d22b731f95]
2017-05-16 07:15:13 +05:30
Evgeny Mankov 37d5a09493 [HIPIFY] CUDA Driver API: Primary Context Management support.
[ROCm/clr commit: 181d3e2bae]
2017-05-15 15:35:52 +03:00
Aditya Atluri feca2ed0dc added gfx900 to hipDeviceProp_t
Change-Id: I49e7a32f218926fd55f1c94c5dc2366d6c8ac4ca


[ROCm/clr commit: a6dc00f167]
2017-05-12 21:43:34 -05:00
Ben Sander 0d3c99eb6e Remove old USE_ switches no longer needed.
[ROCm/clr commit: c7c62dd022]
2017-05-12 16:06:03 -05:00
Ben Sander 9b222c0ae4 Add hipEventDisableSystemRelease flag.
[ROCm/clr commit: 2c2625cb9e]
2017-05-12 16:06:03 -05:00
Evgeny Mankov 42292df1a3 [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.


[ROCm/clr commit: aa52b94be1]
2017-05-11 21:50:36 +03: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
Aditya Atluri b5f0a9471d added guard against hip_runtime.h so that non-hcc compilers can use it
Change-Id: I3d68deda9ce8a5956e21e15a69e549d6c21e3e39


[ROCm/clr commit: 14930dc594]
2017-05-09 10:14:16 -05:00
Ben Sander fa1ac559cb Fix some typos, add additional guidance for -BSymbolic
[ROCm/clr commit: 9a026b62a8]
2017-05-05 17:29:04 -05:00
Ben Sander 4afda1720d Refactor hipHostRegister test.
Run all tests in one command.
Run 128 offsets.


[ROCm/clr commit: e417eb5d35]
2017-05-05 17:29:04 -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
Evgeny Mankov 3028345953 [HIPIFY] LLVM 3.9 support
3.8 and 3.9 are both supported. 3.8 is stable, 3.9 needs more testing.


[ROCm/clr commit: 054bf0859d]
2017-05-05 21:28:02 +03:00
Rahul Garg ba1a3360ab hipMemcpy2DAsync for HIP/NVCC
Change-Id: I46f0057fef49bdaaac41c1df80c3e27432b8f376


[ROCm/clr commit: f77059218c]
2017-05-04 06:47:55 +05:30
Evgeny Mankov e9ad0f3b00 [HIPIFY] CUDA RT memcpy functions update.
cudaMemcpyFromSymbol -> hipMemcpyFromSymbol
cudaMemcpyFromSymbolAsync -> hipMemcpyFromSymbolAsync
cudaMemcpy2DAsync -> hipMemcpy2DAsync


[ROCm/clr commit: 2636d91ba4]
2017-05-03 23:05:44 +03:00
Evgeny Mankov df05e96760 [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


[ROCm/clr commit: 72df25a0c7]
2017-05-03 22:45:56 +03:00
Evgeny Mankov 3ca552c669 [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.


[ROCm/clr commit: 3b40776244]
2017-05-03 21:59:48 +03:00
Rahul Garg 9739d5d60f Added support for hipMemcpy2DAsync in HIP/HCC
Change-Id: Ia4a8306f2dc1e33a81a7195ec29aef652fcccc4b


[ROCm/clr commit: b136e80a45]
2017-05-03 22:29:12 +05:30
Evgeny Mankov 03595a9883 [HIPIFY] Rename enumConstantDecl -> enumDecl
Reason: not to mix up with clang's enumConstantDecl, used for enum DeclRefExpr (enum constant).


[ROCm/clr commit: 3e89277a9b]
2017-04-28 21:59:33 +03:00
Evgeny Mankov 3252416883 * [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).


[ROCm/clr commit: 85a32c3987]
2017-04-28 21:45:36 +03:00
Evgeny Mankov 3e06497eaa [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.


[ROCm/clr commit: 5f76cf3098]
2017-04-28 21:03:03 +03:00
Aditya Atluri 6dccc18fa0 fixed hipFuncSetCacheConfig on rocm path
Change-Id: I937a3afbf115edc94a753a0beb2230ed60a6f021


[ROCm/clr commit: 208bdbbcbb]
2017-04-28 11:53:11 -05:00
Aditya Atluri c662b426dc fixed fast math expf and exp10f
Change-Id: I73963220f902efebb0a7404c5f8966dffb4c35ca


[ROCm/clr commit: f368271872]
2017-04-26 19:01:10 -05:00
Aditya Atluri afec5e075b added hipFuncSetCacheConfig API for nvcc path
Change-Id: I87fae35bc0e10a0dca5ae1c5015fe5d9e52a1d0d


[ROCm/clr commit: e91c35fde0]
2017-04-26 18:56:57 -05:00
Maneesh Gupta f5f4850297 Merge branch 'amd-master' into amd-develop
[ROCm/clr commit: a5fb13bab3]
2017-04-26 23:55:13 +05:30
Sun, Peng a82ecbcc13 fix hip_complex.h header on NV path
Change-Id: Ia95d003ca1b284bab1c76723050e6b3b89178f65


[ROCm/clr commit: 50daa408aa]
2017-04-25 00:15:20 -05:00
Ben Sander 579b8e5050 Add host offset checking
[ROCm/clr commit: fbf28a8728]
2017-04-24 22:30:54 -05:00
Ben Sander 20315571bd Refactor hipHostRegister test.
- Add more testing for offsets.
- Parse cmdline options and use --tests.


[ROCm/clr commit: e7af4ef641]
2017-04-24 22:30:54 -05:00
Ben Sander aa4c89380e Refactor hipHostRegister to cover misaligned cases.
[ROCm/clr commit: 5ba167b82b]
2017-04-24 22:30:54 -05:00
Ben Sander 0e042a1529 Tailor pointer info for src/dst before calling HCC copy routines.
HCC sometimes uses the srcPtrInfo or dstPtrInfo to determine the
pointer.  Make sure these use the actual pointer and not the base
of the allocation.


[ROCm/clr commit: 3da8e94cbf]
2017-04-24 22:30:54 -05:00
Ben Sander 67383ddb5c Add test for non-page-aligned mem copies.
[ROCm/clr commit: d120b2dd12]
2017-04-24 22:30:54 -05:00
Ben Sander 37fcb3bd13 Add corrected test for offsets
[ROCm/clr commit: b44a3eefd1]
2017-04-24 22:30:54 -05:00