Commit Graph

213 Commits

Author SHA1 Message Date
Maneesh Gupta 3f204b8580 Merge branch 'amd-develop' into amd-master
Change-Id: I04f85b207e15e66c1a546675dc0937726ee08362
2016-06-30 18:36:07 +05:30
Fan Cao 6a2bbbcb75 Replace GPU agent with CPU agent properly for memory async copy API
ihipStream_t::copySync use GPU agent in memory async copy API, even
if the src/dst memory does not belong to GPU, which cause the hsa
runtime to choose a slower copy engine.

SWDEV-95191

Change-Id: If3cab3d493c0c96ed63721cdcf28247a1193887c
2016-06-30 18:23:29 +05:30
Aditya Atluri 5633cc34cc moved half support to a source file
Change-Id: I7c09b41877e22c1b743dea25a585e5307427dafd
2016-06-30 18:23:29 +05:30
7SK 8264d5d6bd NVCC_COMPAT
add support for both cuda compatible implementation and hcc(faster)
implementation with test

Change-Id: I79a22344f458391d7dffac5f147619a542e97e4e
2016-06-28 09:36:06 +05:30
Maneesh Gupta f4cc90472d Merge branch 'amd-master' into amd-develop 2016-06-24 21:13:11 +05:30
Rahul Garg 3029be78b8 Included code to calculate value of maxThreadsPerMultiprocessor property
Change-Id: Ie7cad7442f36a7163e715048de5a309febc28664
2016-06-24 15:10:11 +05:30
Ben Sander 9f29cc6989 Grid-launch updates to 2.0 and cleanup of old.
_ Use fields from GRID_LAUNCH_20 structure
  (See USE_GRID_LAUNCH_20 define, currently set to 0)
  "1" will require HCC support.
- Remove old DISABLE_GRID_LAUNCH support.

Change-Id: I584ce648d217251789a6283cf27feb24cb7dc8d1
2016-06-21 23:24:38 -05:00
Maneesh Gupta 1a2db6e6e4 default value of uninitialized dim3 elements should be 1
Change-Id: Idff38fac8dfca68f38f1714f8fdec64df2890a6a
2016-06-20 10:13:46 +05:30
Aditya Atluri 90cd67e0b5 able to pass non-dim launch parm to kernel launch
Change-Id: I0411849a27efcba597a1a9aa08be179635e04988
2016-06-18 11:28:20 -05:00
Ben Sander 5c9e286ddc Clean up old work-week and USE_* refs
Change-Id: I929c979fa085f8e5205194cbccca46e9b5516aa9
2016-06-17 15:18:57 -05:00
Aditya Atluri ae12867774 added tests for host math functions
Change-Id: I66a5c574a27190e32054586f07ecf20e1ff71292
2016-06-17 15:05:33 -05:00
Aditya Atluri 2b0c2f494b added bessel nth order function
Change-Id: I18a64d894dda9330b39638535dfafd7ce31bb968
2016-06-17 09:22:23 +05:30
Ben Sander 2ab19ca505 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
2016-06-16 06:13:51 +05:30
Aditya Atluri 7cb45e2d87 added more host functions and tests
Change-Id: I9904e65e14c5479ba33d836c5c0b763cb5af71e3
2016-06-15 11:45:19 -05:00
Aditya Atluri e01e5d2fe3 added host device functions
Change-Id: I8f299752fb8dd8e8947da62e4ad88842c1c19f62
2016-06-14 18:14:44 -05:00
Aditya Atluri ec48e50101 added bessel zero and one order functions
Change-Id: I57039d54eae7207db00415bc7ba09bbf9cb6425a
2016-06-14 11:50:48 +05:30
Aditya Atluri d7df02e310 added erfinv software implementation
Change-Id: Ib1a5584f6c81ab3afa70f7bcbfd7780e156454e3
2016-06-14 00:09:41 -04:00
Aditya Atluri 9ac6e422f0 added more device functions
Change-Id: I191919060b393772ee442cc19d83479217c5a4ce
2016-06-13 11:55:12 -05:00
Aditya Atluri 798aa48032 added normcdf support
Change-Id: I4887bc588589ed067eaa339d5eccd988c1c5d649
2016-06-13 10:09:37 +05:30
Aditya Atluri 25a273e4df 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
2016-06-10 09:46:31 -05:00
Aditya Atluri c6dfb0d079 added more float device functions
Change-Id: I106ce6de9ed8806b3699dcf0add9efc9e8583615
2016-06-10 06:22:00 -04:00
7SK 1463075608 fix_ldg
Change-Id: I53de5fa91b4f57d496ffe46787d197ae84dde4a4
2016-06-09 16:56:05 -04:00
Maneesh Gupta 5080084f4e Merge "Squashed commit of the following:" into amd-master 2016-06-07 12:52:21 -04:00
Maneesh Gupta e920ead561 Use cpu agent when using staging buffer
Change-Id: I195a8137e86f2752681d6ba4dc7ba1b6f654e264
2016-06-06 12:42:44 +05:30
Jack Chung bf4ba9e09e 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
2016-06-05 06:20:44 -04:00
Rahul Garg d46b3446de Update in clock function
Change-Id: I5819aa62693dc3b9b5d7e39944d1e58aadc72027
2016-05-20 11:12:32 +05:30
Maneesh Gupta 8b7f60a735 Add misssing unsigned keyword to atomicInc and atomicDec
Change-Id: I658479c4c7c409dba117152165229880aeb5ab9f
2016-05-16 10:42:13 +05:30
Rahul Garg 381dc93b96 Support for Atomic inc and dec in HIP
Change-Id: I783e4917cece5cc379894f0d293382315fbfa8b0
2016-05-12 11:10:48 +05:30
Aditya Atluri 1cf1918147 Added copyright for device functions file
Change-Id: I689345ae7428928b4d2d7cd37fbc561309db3256
2016-05-06 10:51:06 -05:00
Ben Sander c921d47c17 comment change 2016-05-03 08:33:35 -05:00
Ben Sander 89df2f4e2f Merge branch 'privatestaging' into grid_launch 2016-05-02 18:38:20 -05:00
Ben Sander d30ad55160 Merge branch 'privatestaging' into p2p 2016-05-02 11:10:10 -05:00
Aditya Atluri 3f4f6c4d41 removed warnings 2016-04-30 12:11:04 -05:00
Ben Sander 558975c046 remove hacks to disable math or LDG functions. 2016-04-28 14:14:22 -05:00
Ben Sander bae6462e3b hipcc uses -stdlib=stdlibc++ by default.
hipcc switches to -stdlib=libc++ if user requests it.
hack to disable LDG.
2016-04-28 13:17:49 -05:00
Aditya Atluri cac8110a4f changed to guard from hc.hpp 2016-04-27 17:46:27 -05:00
bwicakso f0974e5867 Merge remote-tracking branch 'refs/remotes/origin/privatestaging' into kernel_synchronization 2016-04-25 13:57:28 -05:00
Aditya Atluri a730d60930 fixed hipmemset to use native ihip api 2016-04-25 11:05:30 -05:00
Aditya Atluri ec23aba6f9 Fixed git spills 2016-04-22 09:19:05 -05:00
Aditya Atluri 4dac4789ff added workweek to hip_ldg 2016-04-22 09:14:26 -05:00
Maneesh Gupta 75532471b2 Revert "added full data type support for __ldg"
This reverts commit ba59ea87ab.

Conflicts:
	include/hcc_detail/hip_ldg.h
2016-04-22 11:12:00 +05:30
Maneesh Gupta ffdf6ab23b Merge branch 'release_0.84.00' into privatestaging
Conflicts:
	include/hcc_detail/hip_runtime.h
	src/hip_hcc.cpp
2016-04-22 10:55:58 +05:30
Aditya Atluri 88a883c1a1 added full make_datatype support 2016-04-21 17:25:30 -05:00
Aditya Atluri 9ca8584ec0 reorg make_datatype feature 2016-04-21 14:51:19 -05:00
Aditya Atluri ba59ea87ab added full data type support for __ldg 2016-04-21 11:17:26 -05:00
bwicakso df98fd8531 Fix for kernel synchronization
The completion future of a particular kernel is lost if there are
multiple kernels in the stream. This can cause a racing condition where
the signal associated with the unreferenced completion_future might get
released by hcc runtime.
2016-04-20 15:51:39 -05:00
Aditya Atluri f74b7a3636 added support pinned dma memcpy between host and device 2016-04-20 14:21:22 -05:00
Aditya Atluri de7952cd06 added copyright for ldg 2016-04-20 12:28:02 -05:00
Aditya Atluri 805b268ad4 added support for __ldg 2016-04-20 12:25:40 -05:00
Ben Sander 453615ed57 Fix hipDeviceReset synchronization 2016-04-19 11:56:12 -05:00