Graphe des révisions

474 Révisions

Auteur SHA1 Message Date
Aditya Atluri c8a1b6bc30 fixed warning raised by g++ using hip_vector_types.h
Change-Id: I9e7cdfc8b28b03b690eecd068529cf7629296d68


[ROCm/clr commit: a47066153f]
2017-03-10 15:14:26 -06:00
Rahul Garg b2b8361763 IPC supported using ROCR APIs
Change-Id: I0a353b1240098f4b20fa266a871f5f5826290af9


[ROCm/clr commit: 3af487007b]
2017-03-10 23:45:28 +05:30
pensun a49f5c7e1d update porting guide for updated __HIP_DEVICE_COMPILE__
Change-Id: I0f025d354f76e2d728231bf112a77e8c8fcacc8c


[ROCm/clr commit: 1a2844e3a3]
2017-03-10 10:01:12 -06:00
Aditya Atluri a816a9eb54 Added architecture guards around __shfl, dpp and ds_permute device functions
Change-Id: I10f9b08618fbf25b61c1932278fc5759e41c0d66


[ROCm/clr commit: 046ec0375b]
2017-03-10 08:40:59 -06:00
pensun 3152223be6 add inline to all hip_complex operators
Change-Id: Ifba5966c297cbc9299c39ecfc45c7296003ebb5d


[ROCm/clr commit: 14a5d3c80d]
2017-03-08 14:06:13 -06:00
Aditya Atluri c861d10d1e Added new API, hipMemPtrGetInfo
1. This API returns memory allocation size of pointer
2. Added test to check its functionality

Change-Id: I87976d817b5a6ca5530336c09e7cb0420601cb2c


[ROCm/clr commit: 7b7d53f875]
2017-03-07 13:46:29 -06:00
Aditya Atluri 106030f2c6 added new field to hipDeviceProp_t structure gcnArch.
1. It is an integer containing gfx values 701, 801, 802, 803
2. On NV path, it is zero

Change-Id: I2b4c7f48981d0214d8c6b1905d2cc85b16203419


[ROCm/clr commit: 9f575721aa]
2017-03-07 11:24:32 -06:00
Ben Sander 115631e210 Modify memcpy and memset to follow C/C++ standard:
- memcpy src is const
    - memset val is int


[ROCm/clr commit: 8e50134d31]
2017-03-06 16:38:22 -06:00
Evgeny Mankov 460971e93c [HIP] [FIX] Memcpy Async functions on nvcc path.
+ in hipMemcpyDtoDAsync: cuMemcpyDtoD -> cuMemcpyDtoDAsync
+ in hipMemcpyDtoHAsync: cuMemcpyDtoH -> cuMemcpyDtoHAsync

P.S.
"The types CUstream and cudaStream_t are identical and may be used interchangeably", thus explicit c-like type cast is not needed, aka CUstream(stream).


[ROCm/clr commit: 430856ca35]
2017-03-01 23:04:34 +03:00
Aditya Atluri b430c3be71 changed __half enabling from 4 to >3
Change-Id: Id974c6d5326e87a4c5941f831c5bb2747cdebd2d


[ROCm/clr commit: 37bc29e44b]
2017-02-28 17:13:29 -06:00
pensun 077e789db5 Define __HIPCC__ flag at compile time when using HIPCC on HCC path
Change-Id: I5e967e0e2327264d5d3b0ca705c2504fcd33d75e


[ROCm/clr commit: be95cc914f]
2017-02-28 16:20:48 -06:00
Evgeny Mankov 8c237b0837 [HIP] Add missing Device attribute on nvcc path.
+ missing cudaDevAttrComputeCapabilityMinor case as added for hipDeviceGetAttribute query for hipDeviceAttributeComputeCapabilityMinor.


[ROCm/clr commit: 47a27e6b17]
2017-02-28 18:40:13 +03:00
pensun 72f8c29529 remove extra spaces for hip_common.h platform defines
Change-Id: Ie0e39256abba307429985371671cde01f5ea2cc9


[ROCm/clr commit: c5ae8c423a]
2017-02-27 12:55:22 -06:00
Maneesh Gupta 37ab88ae1e Fix nvcc path samples that include math_functions.h
Change-Id: I94bb577b93983535178d8f0dcae57aaa72871534


[ROCm/clr commit: 528736cf58]
2017-02-27 13:20:05 +05:30
Aditya Atluri 78f1d54ad6 Added initial support for hipMemcpyFromSymbol. But not working!
Change-Id: I48d8c7de4ec9f85c6c942be995fb488a3931f5d7


[ROCm/clr commit: 7ac5017cb9]
2017-02-23 11:29:06 -06:00
Aditya Atluri 945526cf77 added runtime api hipMemcpyFromSymbolAsync
Change-Id: Ibaf925faf0ba464dd0ed6c5ea74c224c2ce38889


[ROCm/clr commit: 3d348b2d81]
2017-02-22 19:16:35 -06:00
Aditya Atluri 8078d7d4cc added typedef for half and half2
Change-Id: Ic844fa31b64a0354484b418df71869c2807200cc


[ROCm/clr commit: 4ef664a633]
2017-02-21 14:44:37 -06:00
Evgeny Mankov 241bd38256 [HIP] annotation update.
cudaStreamAddCallback and cudaStreamWaitEvent were excluded from unsupported.


[ROCm/clr commit: 839927a94a]
2017-02-20 21:26:40 +03:00
Aditya Atluri 6c76483ac8 fixed hipFunction memory management
Change-Id: I7ebb323419bcd220ebd6466a8eb38e7bfdb1520a


[ROCm/clr commit: 6110fcdfb6]
2017-02-09 17:22:55 -06:00
Aditya Atluri 14dcdff8f4 Fixed Hawaii link issues
1. Split hip_ir.ll to hip_hc.ll and hip_hc_gfx803.ll
 a. hip_hc.ll contains arch generic ir implementations
 b. hip_hc_gfx803.ll contains gfx803 (fiji, polaris) specific ir
2. HIPCC can now parse --amdgpu-target=*.
 a. Usage: hipcc --amdgpu-target=gfx803 --amdgpu-target=gfx701
 b. TODO: Convert to --amdgpu-target=gfx803,gfx701
3. With LLC in HCC able to generate native f16 isa, removed inline half asm math ops
4. Fixed threadfence and threadfence_block to use functions in rocdl

Change-Id: Ic9a9e3e04139b0d75d2c2a263c030ca77adc1019


[ROCm/clr commit: 60ec83c683]
2017-02-08 12:04:05 -06:00
Aditya Atluri d191eac0e2 Fixed HIP for C runtime
1. fixed constant memory test
2. added runtime gcc/g++ test
3. added fix for runtime with gcc/g++

Change-Id: Ie14dad6633411b188bdeea044e140b6d5beabe16


[ROCm/clr commit: be6d01ebc3]
2017-02-07 13:15:36 -06:00
Aditya Atluri 110303c087 fixed vector types for c
Change-Id: I2330e976060f9a038929cd51be07ae2ee98e81ce


[ROCm/clr commit: 6d8007e28c]
2017-02-07 11:09:54 -06:00
Aditya Atluri 3937b398e9 changed __global__ attribute
1. Moved around tests and added them to HIT

Change-Id: I5d75280c42a5af852670ebabc7305ee56721ec7b


[ROCm/clr commit: f009f3533d]
2017-02-03 10:53:36 -06:00
Aditya Atluri 4085e01263 removed host math functions from math_functions.h
Change-Id: I90d8784e2d6b58c6fade9f0fa12c0db3ee417d3e


[ROCm/clr commit: a5d017e406]
2017-01-27 17:38:43 -06:00
Rahul Garg 24a50f7606 hipMallocArray fixes for NV path
Change-Id: I1ca43e6bc0cd405998888005c20dfb1ea57003d5


[ROCm/clr commit: 125983eed9]
2017-01-27 14:32:08 +05:30
pensun 41bb48dd49 more fix on hipmallocarray on NV path
Change-Id: I890a36cab10c101f4a112bc4567f765b318d486c


[ROCm/clr commit: f18efd5d15]
2017-01-26 12:30:52 -06:00
pensun 0ecc88bebd fix missing semicolon on NV path
Change-Id: I3cfecb7bd534578a1f5a07ca9397092dcf01db07


[ROCm/clr commit: 42f22162e0]
2017-01-26 11:28:15 -06:00
Aditya Atluri 38a90f6119 added device functions header to hip_runtime.h
Change-Id: I635931e1fbe4b7f0f64f3a126c0f1badcd6d234b


[ROCm/clr commit: 33a3ebad27]
2017-01-25 08:14:30 -06:00
Aditya Atluri 11cf5fc117 added driver_types.h and texture_types.h header files to hip
Change-Id: Ic3b2403f07d6767dadf83d6c278fd14e87f6acdb


[ROCm/clr commit: 97315e8748]
2017-01-20 17:09:52 -06:00
Aditya Atluri 0e061ea69a fixed hipArray issues
1. Fixed build issues produced from previous commit
2. Create new header files to manage data structures better

Change-Id: I704d82c196c1858ed7617d76e40612eb507d2aa0


[ROCm/clr commit: 5b2d4c0e60]
2017-01-20 16:54:48 -06:00
Aditya Atluri 100ef6d9b2 added nvcc backend for hipArrays
1. Added hip_texture.h to hip_runtime_api.h as cuda does declare array runtime apis inside cuda_runtime_api.h
2. Added nvcc backend for hipArray runtime apis
3. Didn't test on nvidia platform (should work)

Change-Id: I1a14aef41840e4f55e5535132e3443a918b55967


[ROCm/clr commit: a7fa600176]
2017-01-20 14:11:45 -06:00
Aditya Atluri b6f4fedaaf fixed compilation issues for vector types and math functions
1. Added math_functions.h to hip_runtime.h
2. Changed operator overloading classifier static to static inline
3. Added vector types test for gpu
4. Seperated __host__ and __device__ for math functions in headers

Change-Id: I499862fad5d7b10da686da9011d7ecefe523f8e2


[ROCm/clr commit: 02190736e3]
2017-01-20 09:49:11 -06:00
Aditya Atluri c50f5cbd2c added operator overloading for complex data types
Change-Id: Id96d5d000651914169f04497af6ff78ad96d846a


[ROCm/clr commit: fe5f45caaf]
2017-01-19 15:15:25 -06:00
Aditya Atluri d84be1d089 moved half device function declarations to top of the file
1. Moved half device functions around so that script can catch the signatures
2. Generated docs for half precision apis

Change-Id: Iee27658e3a639fdb02af135e71841dc6427f15e2


[ROCm/clr commit: 706a032a29]
2017-01-18 15:06:18 -06:00
Aditya Atluri 5ea40f27b3 Added script for generating math api docs
1. Commented out unsupported device math functions
2. Moved function signatures to the top of implementation snippets
3. Added script to generate markdown documentation for device math apis
4. Added the generated file from the script which should be present everytime

Change-Id: Ic579dd8b8fdffa6e1b4d4f5f3fd8a803f4dcaac7


[ROCm/clr commit: 3d4dcee35d]
2017-01-18 14:40:50 -06:00
Aditya Atluri 69903887a4 fixed compilation issues
1. Fixed compilation issues for tests
2. Added missing intrinsics + math functions
3. Disabled some device functions as they are causing linking error with HCC

Change-Id: I79d52c4c7a539cc8ef40580247ad97ffcb975f09


[ROCm/clr commit: 41a46effef]
2017-01-18 11:53:47 -06:00
Aditya Atluri 42c627fbe8 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


[ROCm/clr commit: d23b6b8694]
2017-01-17 14:57:51 -06:00
Aditya Atluri 968f2e9489 enabled integer intrinsics tests
Change-Id: I5d28d556f228240eda2fc0098121ed3b29b041e7


[ROCm/clr commit: 3f9a9d9318]
2017-01-17 09:59:08 -06:00
Aditya Atluri 70a03445f0 added last few integer intrinsic support
1. Added usad, umulhi, urhadd
2. Corrected implementation of __hadd, __hradd
3. TODO: __sad(). It gets tricky as ISA sees them as unsigned

Change-Id: Ibd2c2133b462f9393f3990355706386c79256bba


[ROCm/clr commit: 9ca135ac2e]
2017-01-17 09:27:51 -06:00
Aditya Atluri b864271e2c fixed broken tests and device code for integer intrinsics
1. Fixed build issues with new Integer intrinsics
2. Changed tests to work exactly as CUDA code
3. Still some integer intrinsics need to be supported

Change-Id: Ie6f4171259cf4da517436895d4f6f01e01f59b11


[ROCm/clr commit: f0ea51c786]
2017-01-17 09:00:09 -06:00
Aditya Atluri d259da2e42 v1: Working on Integer Intrinsics
1. Half way through
2. May not work
3. No test written

Change-Id: I705b743a78b142ff068e2521870e73fca7ad2b1c


[ROCm/clr commit: feba9fe213]
2017-01-16 14:55:29 -06:00
Aditya Atluri 65552aa2c5 moved most of the fp16 code inside hip_fp16.cpp
1. As we use holder data structure, we move all the cmp, math, cvt apis to cpp file
2. All the tests passed
3. Add more extensive testing for half

Change-Id: I92c6399dace602a0a24432728e3f2a07124e6fb1


[ROCm/clr commit: e95456eee8]
2017-01-16 12:32:35 -06:00
Aditya Atluri d9845446ef Added type conversion intrinsics
1. Added all type conversion intrinsics
2. NO TESTS have been added. (Will add in next commit)
3. Sanatized code in hip_runtime.h
4. Added passed() to hipTestHalf to make it pass on HIT

Change-Id: I0987963c802fc7ff4d7e07d7b88d86da35da53c9


[ROCm/clr commit: d496576b55]
2017-01-16 12:10:05 -06:00
Aditya Atluri d71fc0e60a added half2 log, log10, exp, exp10 math functions
1. Enabled tests for log, log10, exp, exp10 half2
2. h2rint is still disabled.

Change-Id: I01f6002f6992259919893c524c526db5ee09473a


[ROCm/clr commit: 5c5f5c1ad1]
2017-01-13 13:26:10 -06:00
Aditya Atluri 4756cf7c16 added half2 math operations
1. They use SDWA + LLVM IR
2. Added these functions to test
3. Need to do exp, exp10, log, log10, rint

Change-Id: I06176acc6cb8bb054495310531777406a41b54e4


[ROCm/clr commit: eff68c989a]
2017-01-13 12:27:11 -06:00
Aditya Atluri b2973b97e2 added math functions for half
1. Added math functions for half precision
2. HRCP is not available due to device code linking errors, will be enabled once it is fixed
3. Added math functions to half test file

Change-Id: Ie317ce70ef518a4fc3f27142143d01e0327f5df3


[ROCm/clr commit: fe38e9652b]
2017-01-13 12:05:29 -06:00
Aditya Atluri d3fe56550e added half2 cmp and conv, data movement device functions
1. Added half2 comparision functions
2. Added conversion and data movement half apis

Change-Id: Ia33c0e957d9deb1f2b7a8fde8e22168f4d41b88b


[ROCm/clr commit: 646f566bbf]
2017-01-13 10:56:07 -06:00
Aditya Atluri a52591d117 added comparision device functions for fp16
1. Added comparision device functions
2. Added test to check correct isa getting generated

Change-Id: I16732f5a1438bdce145f7bfcecd28198e3cc4b79


[ROCm/clr commit: 89998d436f]
2017-01-12 14:52:14 -06:00
Aditya Atluri d1f7c4e048 added packed math fp16 native device functions
1. Added SDWA implementation inside IR file
2. Added device functions to header + used them in test

Change-Id: Ib4e059a58eee201cc82438689e3e9bc5f9d26653


[ROCm/clr commit: eeef055469]
2017-01-12 14:10:51 -06:00
Aditya Atluri 5317ffa9ec Started adding native half math library support
1. Removed HIP_EXPERIMENTAL env variable so that device code will be accessed from LLVM IR
2. Removed soft support from headers and moved to hip_fp16.cpp
3. Added LLVM IR + inline asm to hip_ir.ll
4. Added test for fp16
5. Added barriers for hcc 3.5 and hcc 4.0 for half support
a. Which means, hcc 4.0 can parse __fp16 but hcc 3.5 cant
b. HCC 4.0 code is implemented now, hcc 3.5 will be added later

Change-Id: Ic37859b2688ebb02e168bab643d1882bf4727952


[ROCm/clr commit: c286bf6f8a]
2017-01-12 11:30:20 -06:00