Commit Graph

466 Commits

Author SHA1 Message Date
Evgeny Mankov b8fbb0ea23 [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/hip commit: 6421a1e79e]
2017-03-01 23:04:34 +03:00
Aditya Atluri 921825f7b5 changed __half enabling from 4 to >3
Change-Id: Id974c6d5326e87a4c5941f831c5bb2747cdebd2d


[ROCm/hip commit: e7ccc995ee]
2017-02-28 17:13:29 -06:00
pensun 0157d13a56 Define __HIPCC__ flag at compile time when using HIPCC on HCC path
Change-Id: I5e967e0e2327264d5d3b0ca705c2504fcd33d75e


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


[ROCm/hip commit: f9ad2dca7e]
2017-02-28 18:40:13 +03:00
pensun d86f186d66 remove extra spaces for hip_common.h platform defines
Change-Id: Ie0e39256abba307429985371671cde01f5ea2cc9


[ROCm/hip commit: df9cbb6067]
2017-02-27 12:55:22 -06:00
Maneesh Gupta 605343ecd4 Fix nvcc path samples that include math_functions.h
Change-Id: I94bb577b93983535178d8f0dcae57aaa72871534


[ROCm/hip commit: 4a6166cd86]
2017-02-27 13:20:05 +05:30
Aditya Atluri c6969c157a Added initial support for hipMemcpyFromSymbol. But not working!
Change-Id: I48d8c7de4ec9f85c6c942be995fb488a3931f5d7


[ROCm/hip commit: 2e245ae58c]
2017-02-23 11:29:06 -06:00
Aditya Atluri d24435ea9b added runtime api hipMemcpyFromSymbolAsync
Change-Id: Ibaf925faf0ba464dd0ed6c5ea74c224c2ce38889


[ROCm/hip commit: 639fd4dd5e]
2017-02-22 19:16:35 -06:00
Aditya Atluri a89ef49454 added typedef for half and half2
Change-Id: Ic844fa31b64a0354484b418df71869c2807200cc


[ROCm/hip commit: a1f3955860]
2017-02-21 14:44:37 -06:00
Evgeny Mankov ed1915ad97 [HIP] annotation update.
cudaStreamAddCallback and cudaStreamWaitEvent were excluded from unsupported.


[ROCm/hip commit: 2461ddd79d]
2017-02-20 21:26:40 +03:00
Aditya Atluri 76f30e96e8 fixed hipFunction memory management
Change-Id: I7ebb323419bcd220ebd6466a8eb38e7bfdb1520a


[ROCm/hip commit: 6fd3daed30]
2017-02-09 17:22:55 -06:00
Aditya Atluri 82c0dcb03f 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/hip commit: 01b66dd998]
2017-02-08 12:04:05 -06:00
Aditya Atluri e0f5912899 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/hip commit: 05c8aa1cf5]
2017-02-07 13:15:36 -06:00
Aditya Atluri 172161a5b5 fixed vector types for c
Change-Id: I2330e976060f9a038929cd51be07ae2ee98e81ce


[ROCm/hip commit: 3664e8784f]
2017-02-07 11:09:54 -06:00
Aditya Atluri 6d5992d445 changed __global__ attribute
1. Moved around tests and added them to HIT

Change-Id: I5d75280c42a5af852670ebabc7305ee56721ec7b


[ROCm/hip commit: 5e3d63c0a3]
2017-02-03 10:53:36 -06:00
Aditya Atluri 76fa20bd89 removed host math functions from math_functions.h
Change-Id: I90d8784e2d6b58c6fade9f0fa12c0db3ee417d3e


[ROCm/hip commit: 60013396f6]
2017-01-27 17:38:43 -06:00
Rahul Garg 1d4c0862f1 hipMallocArray fixes for NV path
Change-Id: I1ca43e6bc0cd405998888005c20dfb1ea57003d5


[ROCm/hip commit: 3e21d55c98]
2017-01-27 14:32:08 +05:30
pensun 58721e8b7d more fix on hipmallocarray on NV path
Change-Id: I890a36cab10c101f4a112bc4567f765b318d486c


[ROCm/hip commit: 2e1a66103a]
2017-01-26 12:30:52 -06:00
pensun 5eb33462b7 fix missing semicolon on NV path
Change-Id: I3cfecb7bd534578a1f5a07ca9397092dcf01db07


[ROCm/hip commit: 8404215658]
2017-01-26 11:28:15 -06:00
Aditya Atluri 4395881206 added device functions header to hip_runtime.h
Change-Id: I635931e1fbe4b7f0f64f3a126c0f1badcd6d234b


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


[ROCm/hip commit: 8ddec0426b]
2017-01-20 17:09:52 -06:00
Aditya Atluri d48571b65b 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/hip commit: 22acd654cf]
2017-01-20 16:54:48 -06:00
Aditya Atluri 35d8bac542 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/hip commit: b1eca6c855]
2017-01-20 14:11:45 -06:00
Aditya Atluri f5e3b72d0a 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/hip commit: f537d96633]
2017-01-20 09:49:11 -06:00
Aditya Atluri 584a4a10c1 added operator overloading for complex data types
Change-Id: Id96d5d000651914169f04497af6ff78ad96d846a


[ROCm/hip commit: 6ca2b289a2]
2017-01-19 15:15:25 -06:00
Aditya Atluri 99fc61be65 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/hip commit: 56d73aaee7]
2017-01-18 15:06:18 -06:00
Aditya Atluri 94da0fdcee 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/hip commit: 91ae5d6bd7]
2017-01-18 14:40:50 -06:00
Aditya Atluri 617a59c90d 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/hip commit: ea382e15f8]
2017-01-18 11:53:47 -06:00
Aditya Atluri 77401c9b64 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/hip commit: b723169ee9]
2017-01-17 14:57:51 -06:00
Aditya Atluri ea01905cee enabled integer intrinsics tests
Change-Id: I5d28d556f228240eda2fc0098121ed3b29b041e7


[ROCm/hip commit: 13ce9ece77]
2017-01-17 09:59:08 -06:00
Aditya Atluri 675ecdd54c 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/hip commit: 02c7f3a70f]
2017-01-17 09:27:51 -06:00
Aditya Atluri b2ec429432 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/hip commit: c0fd0921cb]
2017-01-17 09:00:09 -06:00
Aditya Atluri 72202cccbd v1: Working on Integer Intrinsics
1. Half way through
2. May not work
3. No test written

Change-Id: I705b743a78b142ff068e2521870e73fca7ad2b1c


[ROCm/hip commit: b09ad764a1]
2017-01-16 14:55:29 -06:00
Aditya Atluri 38edad98a6 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/hip commit: 18631efbc0]
2017-01-16 12:32:35 -06:00
Aditya Atluri 8e411f0beb 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/hip commit: 6f2cfddc67]
2017-01-16 12:10:05 -06:00
Aditya Atluri fa376d6d71 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/hip commit: bf45105c7c]
2017-01-13 13:26:10 -06:00
Aditya Atluri 1f5fe6714b 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/hip commit: 0e576295b4]
2017-01-13 12:27:11 -06:00
Aditya Atluri 0d5b2539d3 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/hip commit: 8c978c210c]
2017-01-13 12:05:29 -06:00
Aditya Atluri b00361b981 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/hip commit: 3f52f76194]
2017-01-13 10:56:07 -06:00
Aditya Atluri d30f6a1d1b added comparision device functions for fp16
1. Added comparision device functions
2. Added test to check correct isa getting generated

Change-Id: I16732f5a1438bdce145f7bfcecd28198e3cc4b79


[ROCm/hip commit: 2dcd7600dc]
2017-01-12 14:52:14 -06:00
Aditya Atluri 0180125a29 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/hip commit: 5ef8ef3bd7]
2017-01-12 14:10:51 -06:00
Aditya Atluri 7f00c120a7 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/hip commit: d180fdaae0]
2017-01-12 11:30:20 -06:00
Aditya Atluri ea8ad52289 changed data type used for complex
Change-Id: I0a3bb281af3d5ac1290207821c7c45aea40f513f


[ROCm/hip commit: e2318cda74]
2017-01-11 18:23:37 -06:00
Aditya Atluri 82e5cfa564 changed copyright year from 2016 to 2017 in include directory
Change-Id: Ib5935a84fb51a04b3446df31cc2287101f791b83


[ROCm/hip commit: 98c4221dc2]
2017-01-11 18:09:33 -06:00
Aditya Atluri ea78807053 fixed compilation issues with operator overloading device data types
Change-Id: I6a60282f0c04a3c0d382cdf2d67ad8d9156880ad


[ROCm/hip commit: e30887dc69]
2017-01-11 17:53:32 -06:00
Aditya Atluri 4186194692 Added proper device data types
Change-Id: I42029635ff68c3c13a764a3eda6447e6c77878c6


[ROCm/hip commit: 39910029a6]
2017-01-11 15:06:25 -06:00
Rahul Garg 2e9defbef8 Added state for hipDevice.
Change-Id: Idbc3c04cd054a01b634856a1e0a23ff172e991aa


[ROCm/hip commit: 5fb09879c7]
2017-01-09 23:54:01 +05:30
Rahul Garg 191e8fc08e Removed redundant GetPCIBusID int version function
Change-Id: I37f2ff87d09fcfb1e3b104c44c51f606fcb83c01


[ROCm/hip commit: 4704547bab]
2016-12-20 23:25:16 +05:30
Ben Sander a5f13421b5 Add name for function
[ROCm/hip commit: 90c69e14bb]
2016-12-17 08:54:09 -06:00
Ben Sander a212162612 Remove HSA dependency from hipFunction_t
Place _groupSegmentSize and _privateSegmentSize inside Function,
remove hsa_executable_symbol_t.


[ROCm/hip commit: 8bf4bd2f7d]
2016-12-17 07:22:56 -06:00