Commit Graph

42 Commits

Author SHA1 Message Date
Aditya Atluri 36b81c1be6 added more nvcc event functions
Change-Id: I79ee20ef444d4c1ab6ada3c0d56730ce754ab6b6
2016-06-30 21:03:19 -05:00
Maneesh Gupta 7ca5afc20b Merge branch 'amd-master' into amd-develop 2016-06-21 15:14:04 +05:30
Maneesh Gupta 59c483aa16 hipLaunchKernel supports empty kernel with no arguments
Change-Id: Iaa46ced7fe0e3d72734d02250dfb48b98bef615d
2016-06-17 14:11:46 +05:30
Ben Sander b0cf03114e Add NVCC implementation for hipPeeakAtLastError 2016-06-16 09:38:34 -05:00
Ben Sander 29552a9ae7 remove old KERNELBEGIN/KERNELEND macros 2016-06-16 09:38:07 -05:00
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
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
Maneesh Gupta 0452d7c1af Add hipSetDeviceFlags implementation for NVCC
Change-Id: Id19e965950b728cfe0a514e6cdf65a191d063c10
2016-05-20 12:39:02 +05:30
Maneesh Gupta bc4f388b69 Prefix HIP includes with hip/ 2016-04-19 15:02:12 +05:30
pensun 234727c801 Add missing cudaMemsetAsync transformation 2016-04-14 09:02:02 -05:00
pensun 535de2ecc1 fix query of memoryClockRate and memoryBusWidth for both NV and HCC path 2016-03-25 09:24:08 -05:00
Aditya Atluri e5918ce729 Revert "Revert "fix nvcc for hipHostMalloc* flags.""
This reverts commit 3f5eb20cf0.
2016-03-21 10:39:49 -05:00
Aditya Atluri 3f5eb20cf0 Revert "fix nvcc for hipHostMalloc* flags."
This reverts commit b6962826eb.
2016-03-21 10:36:14 -05:00
Ben Sander b6962826eb fix nvcc for hipHostMalloc* flags. 2016-03-21 09:33:46 -05:00
Ben Sander ab910efb96 hipHostRegister and hipHostMalloc refactor.
Note hipHostMalloc (not hipHostAlloc or hipMallocHost).
 -  the hipHost* is used for all HIP APIs dealing with Host memory.
    (including hipHostMalloc, hipHostFree, hipHostRegister,
hipHostUnregister, hipHostGetFlags, hipHostGetDevicePointer).
  - hipMallocHost is consistent with "hipMalloc" for allocating device
    memory.  Enumerations hipHostMalloc* also used as optional
    flags parm to hipHostMalloc.
2016-03-22 02:30:10 -05:00
Ben Sander 9941ba0bc6 fix nvcc compiler
- MallocHost and FreeHost deprecation.
- Change tests to call new hipHost* equivs.
- Add missing StreamSynchronize.
2016-03-19 04:20:15 -05:00
Ben Sander cea37c3e91 Deprecate hipMallocHost and hipFreeHost.
These will print compiler warnings if used, so we can weed them out
before removing.

Also add a default flags args for hipHostAlloc, in the C++ functioin
headers.  So you can replace hipMallocHost(&ptr, size( with hipHostAlloc(&ptr, size)
2016-03-19 22:53:59 -05:00
Aditya Atluri d9429dd4ec Added hipHostRegister flags 2016-03-07 10:52:40 -06:00
Aditya Atluri 4ed0b1cb1a Added hipHostRegister feature for CUDA backend and its tests 2016-03-07 03:42:50 -06:00
Maneesh Gupta 39d5a2c079 Fix typo in nvcc_detail/hip_runtime_api.h 2016-03-07 09:40:15 +05:30
Aditya Atluri 75952029d6 added feature for hipHostGetFlags for CUDA and HIP 2016-03-06 12:17:30 -06:00
Aditya Atluri d3ba2b9782 corrected hipDeviceGetProperties to hipGetDeviceProperties - not docs 2016-03-06 08:31:04 -06:00
Aditya Atluri f479531be5 Added hipHostAlloc feature for CUDA 2016-03-05 13:58:56 -06:00
Aditya Atluri a5408ed7b6 v2 Added canHostMapMemory 2016-03-05 13:15:07 -06:00
Aditya Atluri 2ebbdd6ec5 Revert "Added canMapHostMemory feature"
This reverts commit af4edd277f.
2016-03-05 13:08:57 -06:00
Aditya Atluri af4edd277f Added canMapHostMemory feature 2016-03-05 13:06:37 -06:00
Aditya Avinash Atluri ecadb1623c Merge pull request #4 from AMDComputeLibraries/memtracker
hipGetPointerAttrib behavioral changes
2016-02-27 10:51:23 -06:00
Aditya Avinash Atluri 6d66bd63de Added CUDA support for hipPointerGetAttributes 2016-02-26 12:33:55 -06:00
Ben Sander 369e0d7b5b Merge branch 'memtracker' into privatestaging
Conflicts:
	include/nvcc_detail/hip_runtime_api.h
2016-02-26 06:17:05 -06:00
Evgeny Mankov 57e212606d Attribute hipDeviceAttributeIsMultiGpuBoard for obtaining Device property isMultiGpuBoard is added.
On HIP path property obtaining done through hsa_iterate_agents and counting the devices of HSA_DEVICE_TYPE_GPU type.

P.S.
On multi-boards systems it might be problems with detection what board a GPU plugged into (not tested).
2016-02-25 23:44:39 +03:00
Evgeny Mankov 833c9e52ad Guard #ifdef USE_ROCR_20 is added for ROCR_20 device properties (memoryClockRate, memoryBusWidth)
By default isn't defined.
To add ROCR_20 support HIP have to be compiled as follows: make CXX_DEFINES+=-DUSE_ROCR_20
2016-02-19 13:27:03 +03:00
Evgeny Mankov 1c19dbb807 Device property memoryBusWidth implementation.
+ Device property memoryBusWidth is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryBusWidth is added to hipDeviceAttribute_t struct.
+ Tests update.
2016-02-18 18:15:01 +03:00
Evgeny Mankov 5ea8543d2e Device property memoryClockRate implementation.
+ Device property memoryClockRate is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryClockRate is added to hipDeviceAttribute_t struct.
+ Tests update.
+ Rename hipDevAttrConcurrentKernels to hipDeviceAttributeConcurrentKernels.
2016-02-18 17:25:28 +03:00
Evgeny Mankov 2b6fda77ca Attribute hipDevAttrConcurrentKernels for obtaining Device property concurrentKernels is added. 2016-02-18 14:34:18 +03:00
Ben Sander b63470f4cc remove extra : 2016-02-18 03:05:53 -06:00
Evgeny Mankov ea8f99702d Fix typo: maxThreadsPerMultiProcessor -> MaxSharedMemoryPerMultiprocessor
Device property MaxSharedMemoryPerMultiprocessor set equal to totalGlobalMem (HIP path).
Reason: MaxSharedMemoryPerMultiprocessor should be as the same as group memory size. Group memory will not be paged out, so, the physical memory size = total shared memory size = group region size. NVCC path remains untouched: CUDA's device property MaxSharedMemoryPerMultiprocessor is reported.

hipify is updated as well.
2016-02-12 01:29:20 +03:00
Evgeny Mankov 33f60c300d BDFID (BusID/DeviceID/FunctionID) support.
Except FunctionID (or DomainID in CUDA) support, because cudaDeviceProp::pciDomainID is not reported by CUDA.
2016-02-11 22:26:01 +03:00
Evgeny Mankov 950c3baacd Device property concurrentKernels is added to hipDeviceProp_t struct.
For HCC path concurrentKernels is set to true since all ROCR hardware supports this feature.
For NVCC path concurrentKernels is obtained from CUDA's device property cudaDeviceProp::concurrentKernels.
2016-02-09 17:10:35 +03:00
Maneesh Gupta 3291e0ec96 Move HIP_DEVICE_COMPILE defines to hip_common.h 2016-02-09 10:57:20 +05:30
Ben Sander 76ebe6dcfd Fix getdeviceattr compilation for NVCC 2016-02-04 16:26:33 -06:00
Sam Kolton 0a27507208 Implementation of hipDeviceGetAttribute() 2016-02-04 17:39:27 +03:00
Ben Sander f38e63ff18 Initial commit for GPUOpen Launch 2016-01-26 20:14:33 -06:00