Граф коммитов

73 Коммитов

Автор SHA1 Сообщение Дата
Yaxun Sam Liu 02d0e93601 Support malloc/free for hip-clang 2018-07-27 16:24:51 -04:00
Maneesh Gupta b5cfa773ef Merge branch 'master' into move-memcpy 2018-07-17 10:51:42 +05:30
Yaxun (Sam) Liu 8136a348ab Move __hip_hc_memcpy and __hip_hc_memset from device_utils.cpp to device_functions.h as inline functions 2018-07-10 18:12:41 -04:00
Aaron Enye Shi 47d78e372e Implement min/max functions in HIP header
Remove using hc::precise_math min and max. Instead we can use ocml directly for device and std:: for host.
2018-07-05 20:15:41 +00:00
Aaron Enye Shi 930a16bccd Implement Memory Fence Functions in header
Enabled __llvm_fence_* functions for seq_cst.
2018-07-04 23:35:24 +00:00
Aaron Enye Shi 9ac31e0bb6 Implement __shfl_* funcs into HIP headers 2018-06-26 18:32:11 +00:00
Aaron Enye Shi 6dc16bbf04 Implement __ballot, __any, __all into HIP headers 2018-06-20 17:39:39 +00:00
Aaron Enye Shi c453b42bff Add hipclang amdgcn functions
These are moving from hipclang in device library to hip headers. These are required for the functionality of HIPclang project.
2018-06-20 17:38:37 +00:00
Maneesh Gupta 946c8da88a Merge pull request #490 from ROCm-Developer-Tools/feature_decouple_atomics_from_hc
Switch the atomic implementation to use Clang  builtins.
2018-06-20 14:16:43 +05:30
Alex Voicu 089ab3b947 Switch the atomic implementation to use Clang builtins. 2018-06-02 12:27:17 +01:00
Alex Voicu 14e449b5bb Remove vestigial implementations. 2018-06-02 11:37:08 +01:00
Alex Voicu 59db16fd36 Switch to using ROCDL directly, as opposed to via HC. Add missing bits. 2018-05-31 03:17:26 +01:00
Maneesh Gupta 1ba06f63c4 Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
2018-03-12 11:29:03 +05:30
Alex Voicu 6027d3f332 Replace archaic use of homebrew functionality with calls to the HC maths library. This fixes a hang observed when building hipTestDeviceDouble. 2017-12-02 00:01:47 +00:00
Alex Voicu 32e11e7dc6 Revert "Revert adoption of CUDA indexing in general - this can only work with later versions of the compiler, just like module based dispatch, and thus must be guarded against usage in earlier (e.g. 1.6) versions."
This reverts commit d2fd1f5
2017-11-29 21:49:10 +00:00
Alex Voicu fbaf729f88 Revert "Revert adoption of CUDA indexing in general - this can only work with later versions of the compiler, just like module based dispatch, and thus must be guarded against usage in earlier (e.g. 1.6) versions."
This reverts commit d2fd1f5
2017-11-29 21:36:29 +00:00
Alex Voicu 9d088d2283 Refactor the __device__ versions of memset and memcpy to be less awkward i.e. not return nullptr as opposed to the destination pointer (it can only be assumed it was done for maximum confusion) and actually unroll as they claim to. Change all of the {to, from}Symbol functions to use hipModuleGetGlobal, as opposed to hc::accelerator::get_symbol_address which is no longer valid with module based dispatch. 2017-11-21 02:40:34 +00:00
Alex Voicu cffd0e14eb This implements the trivial change needed to move back from the hip{Something}_{x, y, z} macros to the natural CUDA syntax of Something.{x, y, z}. This is contained in lines 384-404 in hip_runtime.h. All of the other changes have to do with changing unit tests to use this syntax. The macros are retained for backwards compatibility. 2017-11-19 01:54:12 +00:00
Siu Chi Chan 96e79f97e2 implement __threadfence_system 2017-08-02 08:50:18 +00:00
Maneesh Gupta 7066ff4478 remove unsupported erf(c)inv related host functionality
Change-Id: I665c33616359a0124b5552076359d2f8faa54930
2017-07-14 11:31:40 +05:30
Wen-Heng (Jack) Chung 30ee797dd4 Remove explicit address spaces declarations 2017-07-07 12:46:29 -05:00
Rahul Garg 3c73229916 Abort device function in HIP/HCC, need new HCC
Change-Id: I4195ab75e9b7b48c8b8128d6925ddc0fa5e9e009
2017-06-18 12:31:31 +05:30
Sun, Peng 43df5ba660 Fix error related to undefined reference of __get_dynamicgroupbaseptr().
Change-Id: I14951e1725e35dd5f5e53805f81cdb58661f59f2
2017-06-08 19:24:32 -05:00
Siu Chi Chan 741eb844fe fix atomicCAS:remove load for the return value after CAS 2017-05-31 15:20:19 -04:00
Siu Chi Chan 1dce01f9bb fix hip_fast_dsqrt* to call a double fp sqrt function 2017-05-25 23:15:30 -04:00
Aditya Atluri ab2eb420e2 fixed fast math expf and exp10f
Change-Id: I73963220f902efebb0a7404c5f8966dffb4c35ca
2017-04-26 19:01:10 -05:00
Sun, Peng c82c84949c Fix warpSize, for related issue in hipeigen and torch
Change-Id: Ic66b24923a363304dca189011869ba7a0a6f8895
2017-04-01 15:42:53 -05:00
Ben Sander 29232ff283 Add __device__ to needful functions for promote-free. 2017-03-17 11:19:48 -05:00
Ben Sander e85c167171 Add USE_PROMOTE_FREE_HCC for smooth transition to new HCC caps.
ADDRESS_SPACE_1 defines
2017-03-17 11:04:39 -05:00
Wen-Heng (Jack) Chung 77e21dc09f Revert "Changes to HIP to cope with Promote-free HCC"
This reverts commit efb9b9e86c.

Change-Id: I20a9bab3883ad09913b320210344d37599cb8fcd
2017-03-14 22:59:27 +08:00
Wen-Heng (Jack) Chung efb9b9e86c Changes to HIP to cope with Promote-free HCC
Squashed commit of the following:

commit c111b5bd10d7c2a5b0b1ad8b07f6e81185b47b39
Author: Wen-Heng (Jack) Chung <whchung@gmail.com>
Date:   Sat Mar 4 17:06:46 2017 +0800

    Use __device__ for all variables and functions to be used in kernel path

    Abolish __device and adopt [[hc]] in HIP implementation, so __device__ can be
    used on all HIP applications, no matter they are variables or functions.

    Change-Id: I20ca25857ce3bc3e42a5ebf65cafea2c8492f4c7

commit 30c0e4e4701bbf6bd9a7182e0320a71ff73d3a83
Author: Wen-Heng (Jack) Chung <whchung@gmail.com>
Date:   Thu Mar 2 12:14:11 2017 +0800

    XXX FIXME get around LDS spills caused in Promote-free HCC

    hipDynamicShared2 uses all 64KB of LDS for computation. But in Promote-free HCC
    there are cases where LDS spills would occur, which would make the test case to
    hang.

    In this workaround commit we reduce the size of dynamic LDS used to get around
    this known issue, and will revert this commit when LDS spills are resolved in
    HCC.

    Change-Id: If648b36200a4f9143951a8129192bcb7ed0bef5e

commit e803173be2d73e2f132a7ff7f61e7a20b4083d34
Author: Wen-Heng (Jack) Chung <whchung@gmail.com>
Date:   Wed Mar 1 21:41:41 2017 +0800

    Fix math functions which take pointer arguments

    Change-Id: I332c997e640edbc44824691e2a9434c6b3dadefa

commit de590c469e213c42090ff83dbd060f25bb1d6047
Author: Wen-Heng (Jack) Chung <whchung@gmail.com>
Date:   Wed Mar 1 18:38:54 2017 +0800

    Changes to cope with Promote-free HCC

    - abolish usage of address_space GNU attribute
    - use __device in file-scope global variables which would be accessed by GPU kernels
    - temporarily disable some math functions which take pointer arguments

    Change-Id: I730311dee848e20e763e35cd3980317fce0dce0d

Change-Id: I1f6b970b53b9401eeaaab08f04a7b9fed0fb8cf0
2017-03-08 01:32:59 +08:00
Ben Sander d572e0616e Modify memcpy and memset to follow C/C++ standard:
- memcpy src is const
    - memset val is int
2017-03-06 16:38:22 -06:00
Aditya Atluri 5e3d63c0a3 changed __global__ attribute
1. Moved around tests and added them to HIT

Change-Id: I5d75280c42a5af852670ebabc7305ee56721ec7b
2017-02-03 10:53:36 -06:00
Aditya Atluri b723169ee9 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
2017-01-17 14:57:51 -06:00
Aditya Atluri b09ad764a1 v1: Working on Integer Intrinsics
1. Half way through
2. May not work
3. No test written

Change-Id: I705b743a78b142ff068e2521870e73fca7ad2b1c
2017-01-16 14:55:29 -06:00
Aditya Atluri 6f2cfddc67 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
2017-01-16 12:10:05 -06:00
Aditya Atluri 73fcce26f9 changed copyright year from 2016 to 2017 in src directory
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574
2017-01-11 18:05:41 -06:00
Aditya Atluri 39910029a6 Added proper device data types
Change-Id: I42029635ff68c3c13a764a3eda6447e6c77878c6
2017-01-11 15:06:25 -06:00
Ben Sander 8ed38bae69 fix copyright 2016-12-15 14:42:52 -06:00
pensun 17b98d59b8 IPC prototyps and part of the implementation included
Change-Id: Id88c7f155d23ec63f57a6ef05098fba43f8af336
2016-12-06 14:24:09 -06:00
Maneesh Gupta 6d5145eba4 Remove redundant variable g_malloc_heap_size
Change-Id: Idaf47be70488f0deb3eab05a86d9c5a413d3fff7
2016-12-06 10:19:03 +05:30
Maneesh Gupta 1cf9332c3f Don't share g_malloc_heap_size between libraries
Change-Id: Ic70bf83d4f865bc5c453941fdbc1814c77f0ad9d
2016-12-05 11:03:45 +05:30
Aditya Atluri f843928ddd 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
2016-11-22 15:26:00 -06:00
Aditya Atluri 94d2115d6d 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
2016-11-22 10:20:09 -06:00
Maneesh Gupta c0419cc749 Refactor for building HIP as dynamic library
Change-Id: I65a3d9d589c4fdbbdcf1611e5427224253be8260
2016-11-18 14:33:20 +05:30
Maneesh Gupta 8471682f26 src/*: Update copyright header
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf
2016-10-15 22:55:22 +05:30
Maneesh Gupta 6a14f39f8b Remove incorrect executable-bit from non-executable files
Change-Id: Iacc434374721e01f7d75d0ab54bceabe0b337f54
2016-10-14 12:53:13 +05:30
Elias Konstantinidis 2bc541e15f Added support for __mul24 and __umul24 2016-10-06 09:29:36 +05:30
Maneesh Gupta b951cc99ed Move include/* to include/hip/*
Change-Id: I7a7b2839b4df59c7a4c503550f99fdc9e45c0f54
2016-10-04 22:17:18 +05:30
Ben Sander bbbcb4efad enable dynamic shared always
Change-Id: Idc246546f583a82489ef34d1fe22d0e118b1e0ed
2016-09-02 09:46:59 -05:00