Commit Graph

40 Commits

Author SHA1 Message Date
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 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 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 a86633f210 changed copyright year from 2016 to 2017 in src directory
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574


[ROCm/clr commit: e9ff23e5f9]
2017-01-11 18:05:41 -06:00
Aditya Atluri fe2d13c861 Added proper device data types
Change-Id: I42029635ff68c3c13a764a3eda6447e6c77878c6


[ROCm/clr commit: 4e57822d95]
2017-01-11 15:06:25 -06:00
Ben Sander 8288cbdae4 fix copyright
[ROCm/clr commit: b53ba931e8]
2016-12-15 14:42:52 -06:00
pensun 707358d0b4 IPC prototyps and part of the implementation included
Change-Id: Id88c7f155d23ec63f57a6ef05098fba43f8af336


[ROCm/clr commit: 092924d660]
2016-12-06 14:24:09 -06:00
Maneesh Gupta b9bde4a4be Remove redundant variable g_malloc_heap_size
Change-Id: Idaf47be70488f0deb3eab05a86d9c5a413d3fff7


[ROCm/clr commit: b8413a69c8]
2016-12-06 10:19:03 +05:30
Maneesh Gupta b01694f524 Don't share g_malloc_heap_size between libraries
Change-Id: Ic70bf83d4f865bc5c453941fdbc1814c77f0ad9d


[ROCm/clr commit: ac368cc60f]
2016-12-05 11:03:45 +05:30
Aditya Atluri 06969472b2 added fast math intrinsics to HIP
1. Added fast math intrinsics for single precision data types
2. Added test to check the intrinsics
3. Added HIP_PRECISE_MATH macro to enable precise math on fast math

Change-Id: Iadacbb6182c31252c5e3252854372d1b80dfd27b


[ROCm/clr commit: d9a3527769]
2016-11-22 15:26:00 -06:00
Aditya Atluri b8b1459a64 added fast math APIs
1. Added fast math apis for sin, cos, tan, sincos
2. Added test for trig math functions
3. Added logarithm fast math
4. Changed how hipGetDevice, hipDeviceGetCacheConfig emit errors

Change-Id: Ie6ab594ddd5853cbe85e39a2f6d3479a807fa323


[ROCm/clr commit: 1a85762f53]
2016-11-22 10:20:09 -06:00
Maneesh Gupta b13556367d Refactor for building HIP as dynamic library
Change-Id: I65a3d9d589c4fdbbdcf1611e5427224253be8260


[ROCm/clr commit: 2195e3c37d]
2016-11-18 14:33:20 +05:30
Maneesh Gupta 2655c96ab9 src/*: Update copyright header
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf


[ROCm/clr commit: 88d6cad3fb]
2016-10-15 22:55:22 +05:30
Maneesh Gupta acae18c4ac Remove incorrect executable-bit from non-executable files
Change-Id: Iacc434374721e01f7d75d0ab54bceabe0b337f54


[ROCm/clr commit: 2e93d2d5d2]
2016-10-14 12:53:13 +05:30
Elias Konstantinidis c7da2fe434 Added support for __mul24 and __umul24
[ROCm/clr commit: adc763f440]
2016-10-06 09:29:36 +05:30
Maneesh Gupta 46feb7dcf2 Move include/* to include/hip/*
Change-Id: I7a7b2839b4df59c7a4c503550f99fdc9e45c0f54


[ROCm/clr commit: bbfc08f419]
2016-10-04 22:17:18 +05:30
Ben Sander 704b269d28 enable dynamic shared always
Change-Id: Idc246546f583a82489ef34d1fe22d0e118b1e0ed


[ROCm/clr commit: 6a8ae733cc]
2016-09-02 09:46:59 -05:00
Maneesh Gupta 330052d54b Fix normcdf signature
Change-Id: I36b225cfe03db687f295aeea8a006d535bc14231


[ROCm/clr commit: 260c0dc4ab]
2016-08-17 22:07:06 +05:30
7SK 308a0f7c31 NVCC_COMPAT
add support for both cuda compatible implementation and hcc(faster)
implementation with test

Change-Id: I79a22344f458391d7dffac5f147619a542e97e4e

[ROCm/clr commit: 54034e5048]
2016-06-28 09:36:06 +05:30
Aditya Atluri 1e390cd4af added tests for host math functions
Change-Id: I66a5c574a27190e32054586f07ecf20e1ff71292


[ROCm/clr commit: ba262ea855]
2016-06-17 15:05:33 -05:00
Aditya Atluri 6837ae644c added bessel nth order function
Change-Id: I18a64d894dda9330b39638535dfafd7ce31bb968


[ROCm/clr commit: 75fc024308]
2016-06-17 09:22:23 +05:30
Ben Sander c46b2e7450 NVCC improvements.
- Complete translation tables for cudaError <-> hipError_t.
- Remove some odd errors that were not correctly translated or not used.
- Add HIPCHECK_API to test infrastructure.  Used for negative testing
  an API ; if a mismatch occurs it shows the expected return error
  code.  Can also print a warning rather than error.
- Enable hipMemoryAllocate on NV system, and review error coded.
- Add hipErrorName to nvcc.

Change-Id: I680427dcf32a5796d5913cf9e7f3b4c6f6b91599

Conflicts:
	tests/src/CMakeLists.txt

Bug fixes and improved docs for hipFree and hipHostFree.

    - Passing NULL pointer initialized runtime and return hipSuccess
      (not an error like before).
    - add negative test for this. (hipMemoryAllocate, improved)
    - Match NVCC errors for invalid pointers, add to test.
    - Update hipFree and hipHostFree docs.
    - hipGetDevicePointer always set *devicePointer=NULL, even for
      invalid flags.
    - Gate shared memory usage on specific HCC work-week.

Change-Id: I533b4fd3280a3d6cdbf05eb768976f0c7506c012


[ROCm/clr commit: 6a2a140f34]
2016-06-16 06:13:51 +05:30
Aditya Atluri d01b51eab9 added more host functions and tests
Change-Id: I9904e65e14c5479ba33d836c5c0b763cb5af71e3


[ROCm/clr commit: c4e667cf90]
2016-06-15 11:45:19 -05:00
Aditya Atluri f56bda32bf added host device functions
Change-Id: I8f299752fb8dd8e8947da62e4ad88842c1c19f62


[ROCm/clr commit: bb02880a12]
2016-06-14 18:14:44 -05:00
Aditya Atluri 4d16bb272e added bessel zero and one order functions
Change-Id: I57039d54eae7207db00415bc7ba09bbf9cb6425a


[ROCm/clr commit: ce52a8f70c]
2016-06-14 11:50:48 +05:30
Aditya Atluri 657a1222d7 added erfinv software implementation
Change-Id: Ib1a5584f6c81ab3afa70f7bcbfd7780e156454e3


[ROCm/clr commit: 720fa16355]
2016-06-14 00:09:41 -04:00
Aditya Atluri 570eba42ae added more device functions
Change-Id: I191919060b393772ee442cc19d83479217c5a4ce


[ROCm/clr commit: ae96fe4d12]
2016-06-13 11:55:12 -05:00
Aditya Atluri 4e46d95dac added normcdf support
Change-Id: I4887bc588589ed067eaa339d5eccd988c1c5d649


[ROCm/clr commit: 20b991e99a]
2016-06-13 10:09:37 +05:30
Aditya Atluri d94fa903bf Added more device functions
1. Added copyright for device float test
2. Added device double functions support
3. Added device double functions test
4. Corrected device function signatures in headers

Change-Id: I13c8829682c925992f5cad84062bc9f702fe4048


[ROCm/clr commit: c7462bd524]
2016-06-10 09:46:31 -05:00
Aditya Atluri 0fce1ff505 added more float device functions
Change-Id: I106ce6de9ed8806b3699dcf0add9efc9e8583615


[ROCm/clr commit: 681c5fda12]
2016-06-10 06:22:00 -04:00
Jack Chung c12b4d931d Squashed commit of the following:
commit 9548493fa754b3bf5c31cbdc2211db1e73e8c07c
Author: Jack Chung <whchung@gmail.com>
Date:   Mon May 23 11:57:23 2016 +0800

    Rename hipExternShared test to hipDynamicShared

    Change-Id: I180d9d539420fb69cfc121eceaa7db9da03483b2

commit 827081f8244a38f010789d556db0c4ff7b6422d8
Author: Jack Chung <whchung@gmail.com>
Date:   Mon May 23 11:56:27 2016 +0800

    Rename HIP_DECLARE_EXTERN_SHARED to HIP_DYNAMIC_SHARED

    Change-Id: I22362d179812ac547e0f11ba4e2bb999050e08ae

commit 4c277228ed41af187739610fa17eab1fb144c947
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 17:49:52 2016 +0800

    Adopt new interface to get dynamic LDS in hc.hpp

    Change-Id: I47b433b714633a4c97df87c40a0b1d3386429a00

commit 5a36117d777064113a528dc47b42e8c8413baa97
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 11:29:24 2016 +0800

    Add test patterns for regular expression to match "extern __shared__"

    These test patterns should better be saved as an individual test case, but I'm
    not familiar with HIP test structures so I leave them as comments in hipify as
    of now.

    Change-Id: I7fee89c89b9e73de2133357a226ec0c769733531

commit 1b26284168c7f5339f63338fd0149bed5d994656
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 11:25:23 2016 +0800

    Add one HIP unit test to use HIP_DECLARE_EXTERN_SHARED

    Change-Id: I4d9907815920693a74ea9d575fe26e7c67636109

commit 77b816ee5972b13d829d5bbcf06fbfd07acea2af
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 19:18:59 2016 +0800

    Adopt HIP_ prefix for DECLARE_EXTERN_SHARED macro

    Change-Id: I555ded16b449b67d2e20904013d86fe1ded6a2be

commit ef0997939c3578a9ae11621bf21c0416f04d2622
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 17:42:04 2016 +0800

    Modify hipify to support converting extern __shared__ to DECLARE_EXTERN_SHARED macro

    Added regular expression to search & replace extern __shared__ declarations to
    DECLARE_EXTERN_SHARED macro.

    Limitation:
    - Won't work if "extern __shared__" is declared at global scope

    Sample Usages:
    extern __shared__ double foo[];
    extern __shared__ unsigned int foo[];
    extern volatile __shared__ double foo[];
    extern volatile __shared__ unsigned int sdata[];
    extern __shared__ volatile unsigned int sdata[];
    extern __shared__ T s[];
    extern __shared__ T::type s[];
    extern __shared__ blah<T>::type s[];
    extern __shared__ typename mapper<Float>::type s_data[];
    extern __attribute__((used)) __shared__ typename mapper<Float>::type s_data[];

    Change-Id: I2be0b7039adeddb789f5a2b067d403a43fdc3e26

commit 93ff268724493aedfacdcd5a5aa9a100f4ebaed0
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 15:13:09 2016 +0800

    Introduce DECLARE_EXTERN_SHARED macro to encapsulate "extern __shared__" decls

    Change-Id: I93b2d37c763195b0ca9fd0afee78605a1e3272db

commit cff9c95412de343cc6405158b5acc4f1029267ff
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 12:53:54 2016 +0800

    Add __get_dynamic_groupbaseptr() to point to dynamic LDS

    Change-Id: I97b548d8a691488057617c551a8f331cad7afc77

Change-Id: I84e7875b76fa1f59e860e19c93bd4209cdd1fd2c


[ROCm/clr commit: 65448e74ed]
2016-06-05 06:20:44 -04:00
Rahul Garg 5b74d1666a Update in clock function
Change-Id: I5819aa62693dc3b9b5d7e39944d1e58aadc72027


[ROCm/clr commit: 02a6c1fbe0]
2016-05-20 11:12:32 +05:30
Maneesh Gupta 0fe5e4d12b Add misssing unsigned keyword to atomicInc and atomicDec
Change-Id: I658479c4c7c409dba117152165229880aeb5ab9f


[ROCm/clr commit: 429c26ea93]
2016-05-16 10:42:13 +05:30
Rahul Garg 6208379714 Support for Atomic inc and dec in HIP
Change-Id: I783e4917cece5cc379894f0d293382315fbfa8b0


[ROCm/clr commit: 8c11c333e2]
2016-05-12 11:10:48 +05:30
Aditya Atluri daa9b45ebf Added copyright for device functions file
Change-Id: I689345ae7428928b4d2d7cd37fbc561309db3256


[ROCm/clr commit: 67e2ee1efe]
2016-05-06 10:51:06 -05:00
Aditya Atluri ae1fed4652 added full make_datatype support
[ROCm/clr commit: 1001796485]
2016-04-21 17:25:30 -05:00
Aditya Atluri b426b5b8b6 reorg make_datatype feature
[ROCm/clr commit: 48f3762160]
2016-04-21 14:51:19 -05:00
Aditya Atluri 82f3f1be67 added device math functions
[ROCm/clr commit: c2d04ba59c]
2016-03-31 12:29:19 -05:00
Aditya Atluri 522382140d moved cpp specific device code from headers to source
[ROCm/clr commit: 48b8b426d5]
2016-03-31 04:45:00 -05:00
Aditya Atluri 98f1e31c9b Calling intrinsics from global kernel
[ROCm/clr commit: 3b3db60c25]
2016-03-29 11:17:55 -05:00