Gráfico de commits

885 Commits

Autor SHA1 Mensaje Fecha
Maneesh Gupta fcd401dfb7 hipgenisa.sh: handle extern C on HCC path
Change-Id: I2daf09d2cb323ab34653988b668e8bd89f6db94a
2016-09-04 13:48:44 +05:30
Maneesh Gupta 07badd6f4e module_api: workaround to use vcpy_kernel.cpp for NV path
Change-Id: Ib4868bf02c64070e846c19427c39289609909466
2016-09-04 12:35:08 +05:30
pensun e08f4513c1 For module_api sample, use vcpy_kernel.cu to generate ptx file for NV path.
Change-Id: Id0033678834288c4eaa56b12e7d447119be99deb
2016-09-03 21:06:58 -05:00
Ben Sander 64bc513df9 remove printf
Change-Id: I36510a7ff0425f05a6d0b9c65cda4397c9cc2d95
2016-09-02 17:50:31 -05:00
Ben Sander 1f40a73ae1 add hipStreamQuery on nvcc, fix hipStreamWaitEvent for nvcc 2016-09-02 17:26:16 -05:00
Evgeny Mankov 8bc7aba719 [HIPIFY] CUDA Driver API porting to HIP : populate Replacer's rules with enum members.
enum members for:
CUdevice_attribute/hipDeviceAttribute_t
CUfunc_cache/hipFuncCache
CUsharedconfig/hipSharedMemConfig
2016-09-02 22:23:13 +03:00
Aditya Atluri 4f8c45d05a corrected offline kernel compilation on hipcc path
1. hipgenisa.sh now adds int main(){} during kernel compilation. User does not have to put it there
2. Renamed vcpy_isa.cpp to vcpy_kernel.cpp
3. Removed vcpy_isa.cu as the kernel code should be common for both paths
4. Changed Makefile and runkernel.cpp to work with above changes

Change-Id: I9f8c84706b44bb500bc493a68e959762b55a0142
2016-09-02 13:17:17 -05:00
Ben Sander cdba60a566 Fix double-lock of stream on hipModuleLaunchKernel
Change-Id: I4ca164971c25f4eb8fbcca11d6258367bb3d2ab4
2016-09-02 12:47:49 -05:00
pensun 1f2607153f Add deprecated information for threadfence() and threadfence_system() function.
Change-Id: I71793e9f48523776a87c91f3ed1eef7b9a9da88b
2016-09-02 09:52:07 -05:00
Ben Sander 84b14aa9d6 Doc and test updates.
Change-Id: I44cbd2c0de7cb692d0194d1bb8b8ae25c58d4e00
2016-09-02 09:46:59 -05:00
Ben Sander 0923c2d261 hipStreamWaitEvent update.
Add passed to hipStreamWaitEvent test.
Fix pointerAttrib test to work with new and old HCC versions.
Minor code touchup.

Change-Id: I139ba6ce9f6bf2b4bee89aebdec5981b4346ffc0
2016-09-02 09:46:59 -05:00
Ben Sander db9fe9f494 Only use ihipLogStatus from top-level HIP functions.
Change-Id: I07e9c088d5c16a79ed52cb008a798889a656016c
2016-09-02 09:46:59 -05:00
Ben Sander 472999f5a3 Add test for hipStreamWaitEvent
Change-Id: I157b33a78a0fc125b4b85f611f32f3b492f1b4d9
2016-09-02 09:46:59 -05:00
Ben Sander 7036b7047b Add hipEvent_t to vim syn
Change-Id: Iade4aa123e72ada39028543890957cec03dd7a2e
2016-09-02 09:46:59 -05:00
Ben Sander fb7046160f Fix av::copy in dialects to use capture-by-value
Change-Id: Ibce1488a1326f66b92b4d5b351230666b691ed31
2016-09-02 09:46:59 -05:00
Ben Sander aa823871db Use create_blocking_marker for WaitEvent implementation
Change-Id: Ib3113f69a14e48b9fe0558d7b455148e478d8eed
2016-09-02 09:46:59 -05:00
Ben Sander d1fb90966e improve debug for event
Change-Id: If6c0e25729d9964cbe5967833247a6d791d575a0
2016-09-02 09:46:59 -05:00
Ben Sander e76a272d48 Refactor for stream->_av.
- move _av into stream critical section.  ( HCC accelerator_view is not
  thread-safe but HIP steram is. )
- Refactored many places in code that need to acquire critical section.
some were previously thread races, ie enqueueing marker.

-remove support for GRID_LAUNCH_VERSION < 20
-Enable USE_AV_COPY based on HCC work-week.
- Review hipModule docs, some calrity/editing.

Change-Id: I3ce7c25ece048c3504f55ecd4683e506bb1fc8b6
2016-09-02 09:46:59 -05:00
Ben Sander cd3a0a2d61 enable hc_am example in hcc_ddialects example
Change-Id: Iec2f9eb05f95cb025c157fee8fd284aab844d1a2
2016-09-02 09:46:59 -05:00
Ben Sander bbbcb4efad enable dynamic shared always
Change-Id: Idc246546f583a82489ef34d1fe22d0e118b1e0ed
2016-09-02 09:46:59 -05:00
Aditya Atluri 04f97aa956 added logger for return status
Change-Id: Ib93012a15b1cfa90714a6ebd5153cc40e28e6566
2016-09-02 09:44:00 -05:00
Aditya Atluri 7a807d54df fixed code according to convention
Change-Id: Ib90c84a30ea6da3531e8b7c3e281dd4b31915198
2016-09-02 09:31:37 -05:00
Ben Sander b1b099941d Documentation review and update
Change-Id: If40d096646014d70a198db3532758028abe6a93f
2016-09-02 09:15:49 -05:00
Evgeny Mankov f7818c4c44 [HIPIFY] CUDA Driver API porting to HIP : types are added.
CUdevice           -> hipDevice_t // Yet under discussion
CUdevice_attribute -> hipDeviceAttribute_t
CUdevprop          -> hipDeviceProp_t
CUfunction         -> hipFunction_t
CUfunc_cache       -> hipFuncCache
CUsharedconfig     -> hipSharedMemConfig
CUcontext          -> hipCtx_t
CUmodule           -> hipModule_t
CUevent            -> hipEvent_t
CUstream           -> hipStream_t
2016-09-02 16:31:46 +03:00
Rahul Garg eada9b4444 Removed Doxygen return codes from source file
Change-Id: Iaf9f13df73a9c17c494c9ff67203b836ee90648d
2016-09-02 18:37:26 +05:30
Rahul Garg 2f8d9e20b2 Added hipDeviceTotalMem
Change-Id: I877fbc9e4767bbd70ecd0184f5123c9bc6cbd06f
2016-09-02 15:12:50 +05:30
Maneesh Gupta bc055d960a hip_base package: bundle cmake folder in package
Change-Id: I7f30469242a0357c68b9a27b7b18bbe1f1f15fc1
2016-09-02 15:09:05 +05:30
Maneesh Gupta 295df9e006 CMakeLists.txt: install cmake folder
Change-Id: I5367281c62529b4b832c77ea93e3994a5f9133f4
2016-09-02 15:08:36 +05:30
Maneesh Gupta b0621a4794 FindHIP: First version of re-implementation
Change-Id: I84332a0f7d89271bf9370dbcd19d893119e738f9
2016-09-02 15:07:33 +05:30
Rahul Garg 3f5a2f8397 Added hipDeviceComputeCapability, hipDeviceGetPCIBusId and hipDeviceGetName
Change-Id: Ibe2d975df796712633900ddc7b0734ec2b8ab4ec
2016-09-02 14:45:53 +05:30
Rahul Garg d21e586462 Added hipDeviceGet function
Change-Id: I7c25bc24680589682af1b199072807523fc37f50
2016-09-02 12:25:50 +05:30
Ben Sander 32e9436374 add hipStreamWaitEvent on nvcc 2016-09-01 13:28:27 -05:00
pensun b726f0e949 Modify hipMalloc to take size of 0 and return NULL pointer for it.
Modify hipMemoryAllocate test for this change.

Change-Id: I884aee0cd5fe0c60aebb4cb37cdbb4833c5bd0c7
2016-09-01 13:08:30 -05:00
Evgeny Mankov 43998387aa [HIPIFY] CUDA Driver API porting to HIP : CUresult enum.
enum CUresult was merged with enum cudaError_t into single hipError_t.

Thus a majority of HIP error codes has a reflection to Driver's and RT's corresponding error code at the same time. For instance:
    cuda2hipRename["CUDA_SUCCESS"]                         = {"hipSuccess", CONV_ERR, API_DRIVER};
    cuda2hipRename["cudaSuccess"]                          = {"hipSuccess", CONV_ERR, API_RUNTIME};

There are a few CUDA return error codes which are RT or Driver specific. For instance:
    cuda2hipRename["CUDA_ERROR_INVALID_CONTEXT"]           = {"hipErrorInvalidContext", CONV_ERR, API_DRIVER};

    cuda2hipRename["cudaErrorInvalidMemcpyDirection"]      = {"hipErrorInvalidMemcpyDirection", CONV_ERR, API_RUNTIME};

Matchers were changed from "cuda.* | cublas.*" to "cu.*" as CUDA API functions/types starts with 'cu'.
2016-09-01 18:54:03 +03:00
Aditya Atluri cc8ce4d58c Fixed offline kernel compilation
1. Removed vcpy_isa.ptx as it should be generated during make
2. Made argument padding specific to hcc path
3. Renamed --gencodeobject to --genco
4. Changed Makefile to work on both nvcc and hcc path

Change-Id: Ifd053d541085d9ce4fd37bc21b07674786c7163e
2016-09-01 10:39:14 -05:00
Maneesh Gupta 811df250e6 Fixed module_api/Makefile to set flags based on HIP_PLATFORM
Change-Id: I2fa9a556e0c4f25f4963ecef1d25eb922f9af1b9
2016-09-01 15:11:12 +05:30
Maneesh Gupta 14b0fc80c7 Updates to gencodeobject generation logic
- hipcc honors HIPCC_VERBOSE for gencodeobject too
    - fixed gencodeobject generation logic for nvcc path
    - hipgenisa.sh is no longer passed the --gencodeobject flag

Change-Id: Iab83c18a6decef445fda8468ba5de10cd7935046
2016-09-01 15:06:36 +05:30
Rahul Garg 94f035d80d Added doxygen documentation for hipCtxXXX APIs
Change-Id: Id9cf3491e9a8c78cb7bfeb9976c36d6fe565628f
2016-09-01 12:22:37 +05:30
Maneesh Gupta 5456668776 hipgenisa.sh looks for hipcc relative to itself
Change-Id: Iac63fb5a87db1d735dbfa9697ce1f769a36b4d4a
2016-09-01 12:13:11 +05:30
Maneesh Gupta 2d1d6b2973 Fix typo in hipcc
Change-Id: I35817c08b503f438f412d4bfe84afc11b671dc77
2016-09-01 12:11:11 +05:30
Maneesh Gupta 13d1721431 module_api/Makefile: Use gencodeobject instead of genisa
Change-Id: I7e3523810f5603ad727b1fda7ff2d0dc53ec72d7
2016-09-01 12:10:31 +05:30
Rahul Garg dd84bb0d84 Added context related difference note in hip_porting_driver_api.md
Change-Id: I5bd2884a16db51871baa7c19fa2bd63a0bd3adad
2016-09-01 11:35:42 +05:30
Rahul Garg deb2638397 Added HIP_INIT_API to hipDeviceSynchronize()
Change-Id: I9bd6bf206905621b17e1999994b5ea09b7382180
2016-09-01 11:00:30 +05:30
Aditya Atluri 6a6a0ae32f added device code offline compilation for nvcc
Change-Id: I1f77131778b4dcfcf720b4367dd9f18ffaf1cbb3
2016-08-31 20:36:36 -05:00
Aditya Atluri c0cfdf2ee9 corrected path to hipgenisa.sh and fixed its working
Change-Id: I140055d5e800cd4b23253171ba889db5e63b637b
2016-08-31 20:16:48 -05:00
Aditya Atluri d5a6e22c59 added sample for how-to-use pre-compiled kernels1. Corrected the exit output of kernel compilation by hipcc
2. Added sample which loads/run kernel binary during runtime?

Change-Id: I26ccaca1f844fee317592e26c9e654ce548b96a8
2016-08-31 13:56:07 -05:00
Aditya Atluri 569e0b2eed added how to use hipcc for kernel compilation
Change-Id: If652316272f21b90516f5a5ed88c17f4f4e77fb0
2016-08-31 13:22:28 -05:00
Aditya Atluri 4a0c6c2d53 added kernel only compilation feature for hipcc
1. Added hipgenisa.sh file to compile kernel code to hsa code object
2. Changed hipcc to call hipgenisa.sh, making hipcc compiling the kernels

Change-Id: I976459c1ebb24343e1b1fe38b4c3a203f1adffa9
2016-08-31 13:05:57 -05:00
Aditya Atluri 69fb9ee3aa added doxygen comments for hipModuleLaunchKernel
Change-Id: I8a52d2e62f4b7eea8e05d779b9fda49f0ac45130
2016-08-31 10:18:46 -05:00
Rahul Garg 310f0660aa CUresult to hipError mapping updates
Change-Id: I602a70acda798a47ebbbef84b438b21c399821c3
2016-08-30 15:55:51 +05:30