Commit Graph

3157 Commits

Author SHA1 Message Date
Evgeny Mankov 95aca4f9a9 [HIPIFY][SPARSE] cuSPARSE 10.1 support 2019-04-16 14:59:44 +03:00
Evgeny Mankov bbcacd0146 [HIPIFY][BLAS] cuBLAS 10.1 support 2019-04-16 12:52:58 +03:00
Evgeny Mankov f5f1636181 Merge pull request #1023 from emankov/master
[HIPIFY][cuDNN] Add partial cudnnRNNBiasMode_t support
2019-04-16 11:03:22 +03:00
Evgeny Mankov 5fa84735a6 [HIPIFY][cuDNN] Add partial cudnnRNNBiasMode_t support 2019-04-16 11:01:01 +03:00
Maneesh Gupta 715a500b97 Merge pull request #995 from david-salinas/add_sram-ecc_and_xnack_flags_to_triple
Append the ELF flags for sram-ecc and xnack to the target triple per code object
2019-04-16 09:10:04 +05:30
Maneesh Gupta 22660bed74 Merge pull request #1019 from scchan/lazy_binding
minor workaround for lazy binding
2019-04-16 08:36:10 +05:30
Jeff Daily cf8fb43e6b In hipFree, synchronize owner of memory (#1018)
* In hipFree, if memory is associated with a device, synchronize that device's streams.

This changes the behavior from synchronizing the currently set TLS device.

* All devices sync in hipFree for _appId=-1 case.

* Revert "All devices sync in hipFree for _appId=-1 case."

This reverts commit 1efb34d6a8426661e45bc5f763422a1147aeac10.

* add HIP_SYNC_FREE env var
2019-04-16 08:35:55 +05:30
Mr-LiuSw 64bdf82265 add little changes in hip_runtime_api.h to work with c language (#1017)
* Update hip_runtime_api.h

when i try to use mpicc or gcc to compile a c language code which call some hip runtime api , error occured as
> /path/to/hcc_detail/hip_runtime_api.h:2268:33: error: unknown type name ‘hipFuncAttributes’; 
> hipFuncGetAttributes(hipFuncAttributes* attr, const void* func);
 
add ' struct ' for the first parameter of hipFuncGetAttributes will get ride of this problem.
2019-04-16 08:35:36 +05:30
Aaron Enye Shi 2c80975e9c Use COMgr to read Kernel Args Metadata (#1006)
* Add CMAKE dep to amd_comgr

* Use COMGR for read_kernarg_metadata in COV2

* Do not assume kernargs exist

* Add proper metadata destroy cleanup

* Use a process function for easier destroy

* Remove old read_kernarg_metadata

* Clean up HCC, prints, names

* Use COMGR in CMAKE by default

* Move metadata lookup for keyword values into helper

* Remove C string usage for lookup_keyword_value

* Guard COMGR for non-NVCC path

* Add hip_hcc dependency on comgr package

* Add lifetime to metadata nodes

* Find COMGR config file for amd_comgr target

* Move set_active data earlier
2019-04-16 08:34:39 +05:30
Evgeny Mankov 64f0f29111 [HIPIFY] cuDNN 7.5.0.56 support 2019-04-15 15:46:46 +03:00
Maneesh Gupta 72e17e3c92 [ci] Enable tests on ROCm 2.3
Change-Id: Id344ef600b0868f36f2e7ac08d5664234d88835b
2019-04-15 12:38:01 +05:30
Yaxun (Sam) Liu e200ece4da hip-clang: Add __align__
CUDA has __align__. Define eqivalent for hip-clang.
2019-04-10 14:17:18 -04:00
Evgeny Mankov b11bf48270 [HIPIFY] CUDA 10.1 Runtime API support 2019-04-10 18:41:36 +03:00
Evgeny Mankov 9a660c0d48 [HIPIFY] CUDA 10.1 Driver API support 2019-04-10 15:03:34 +03:00
Maneesh Gupta 75691ff3e4 Merge pull request #1013 from yxsamliu/config
Fix hip-config.cmake for hip-clang
2019-04-10 07:53:22 +00:00
Yaxun (Sam) Liu 419eeb4fe0 hip-clang: fix hipcc options
Use -O3 for default optimization level.
Fix --hip-device-lib-path for warnings about unused option.
2019-04-09 22:31:13 -04:00
Yaxun (Sam) Liu a781d2e017 Fix hip-config.cmake for hip-clang
Define HIP_COMPILER and HIP_RUNTIME in hip-config.cmake to
facilitate other packages identify hip-clang and HIP/VDI
runtime.
2019-04-09 16:41:01 -04:00
Yaxun (Sam) Liu 98642129cc hip-clang: add include path for hsa headers 2019-04-09 15:01:50 -04:00
Maneesh Gupta aa8f17193e Merge pull request #1010 from ROCm-Developer-Tools/mangupta-patch-1
[ci] Disable hipLaunchParm.tst for now
2019-04-09 03:19:56 +00:00
Evgeny Mankov 79e6bd8426 [HIPIFY][cmake][doc] Update CMakeLists and Readme cause CUDA 10.1 and clang 8.0.0 are released
+ Fix the error in cmake: clang 8.0.0 supports CUDA 10.0, not 10.1; only trunk clang 9.0.0 supports CUDA 10.1.
+ Update Readme:
  1. clang's bug 36384 is gone, so latest stable release for Linux is clang 8.0.0, which supports CUDA up to 10.0;
  2. update dependencies, testing and building notes.
2019-04-08 20:05:21 +03:00
Maneesh Gupta 27013c9af6 [ci] Disable hipLaunchParm.tst for now
Due to a HCC bug in rocm-head, the test fails to compile. Disabling the test until the issue is resolved.

Change-Id: Ib4e7baf0b9c2cb5f5dbe38e6dd2bab894d28886a
2019-04-08 16:14:25 +05:30
Yaxun (Sam) Liu 5c67ee11f4 Fix regression on multi-gpu due to PR#997 2019-04-05 22:54:41 -04:00
Evgeny Mankov 3352d7b174 Merge pull request #1003 from acowley/patch-1
hipify: translate cudaErrorInvalidSymbol
2019-04-05 20:21:27 +03:00
David Salinas 4d0dc45078 append the ELF flags for sram-ecc and xnack to the target triple per code object 2019-04-05 13:17:11 -04:00
Evgeny Mankov 4990a1003b [HIPIFY][doc] Fix typos and minor text inaccuracies in HIP FAQ 2019-04-05 19:19:38 +03:00
Siu Chi Chan b5045af7e9 minor workaround for lazy binding 2019-04-02 17:28:06 -04:00
Anthony Cowley f15dd58a91 hipify: translate cudaErrorInvalidSymbol 2019-04-02 08:54:37 -04:00
Maneesh Gupta 2d9e5615b7 Merge pull request #998 from yxsamliu/doc
hip-clang: update installation guide.
2019-04-02 05:08:18 +00:00
Maneesh Gupta a6e7dfefe3 Merge pull request #997 from yxsamliu/mgpu
hip-clang: fix kernel not found on multi-gpu
2019-04-02 05:07:31 +00:00
Evgeny Mankov 5b59f87305 [HIPIFY][tests] Fix typo in test for CUDA 10.x 2019-04-01 19:52:08 +03:00
Evgeny Mankov 799a6f5512 [HIPIFY][cmake] Update CMakeLists and Readme cause CUDA 10.1 and clang 8.0.0 are released 2019-04-01 19:44:52 +03:00
Yaxun Sam Liu 8f5c812a68 hip-clang: fix kernel not found on multi-gpu
__hipRegisterFunction is called during by .init functions during program initialization.
It calls hipModuleGetFunction to locate kernel symbol in code objects. hipModuleGetFunction
assumes current device when locating kernel symbols. This works for HCC but not for hip-clang,
since hip-clang needs to locate kernel symbols for different devices without switching
between devices.

This patch introduces a new hsa agent parameter to ihipModuleGetFunction, which allows
__hipRegisterFunction to choose the correct hsa agent when locating kernel symbols. By
default it uses this_agent(), therefore this patch has no impact on HCC.
2019-03-31 10:08:20 -04:00
Yaxun (Sam) Liu 76a9fdd924 Update INSTALL.md 2019-03-30 08:29:08 -04:00
Yaxun Sam Liu 598604aa7f hip-clang: update installation guide. 2019-03-30 08:24:49 -04:00
Wen-Heng (Jack) Chung 04915cea2f Make hipModuleGetGlobal be in HIP runtime so it can be discovered at runtime (#981)
* Make hipModuleGetGlobal be in HIP runtime so it can be discovered at runtime

In HIP PR #929, quite a few HIP public APIs were made as inline functions with
hidden visibility. It was necessary to support applications with shared
libraries with GPU kernels launched via hipLaunchKernelGGL(), after HIP runtime
is initialized.

In empirical tests, the implementation has been proved to be a bit too
excessive, especially for hipModuleGetGlobal(). The function is used by another
type of client applications which relies on the existence of this function
within HIP runtime so global symbols from HSA code objects loaded dynamically
at runtime can be retrieved programmtically.

This commit moves hipModuleGetGlobal() back to src/hip_module.cpp, and makes it
visible and not inline, to fulfill requirements for applications
aforementioned. It does not change the behavior of applications depending on
hipLaunchKernelGGL().

* Add HIP_INIT_API into the implementation of hipModuleGetGlobal

Address review comments.

* Fix failing HIP unit tests
2019-03-29 03:45:04 +00:00
Maneesh Gupta f9f4cee347 Merge pull request #992 from gargrahul/handle_d2d_memcpy2d
Handle D2D in memcpy2D
2019-03-28 04:41:36 +00:00
Jeff Daily f5e4fff6cc improve program state commentary
Disambiguate calling many varibles "agent".
More detail in exception message.
Create and discard map placeholders; no need to call std::vector::clear() on map value.
2019-03-27 21:40:27 +00:00
Rahul Garg 50d623981e Handle D2D in memcpy2D 2019-03-28 02:21:45 +05:30
Jeff Daily 2845b4c4b8 load program state once per agent 2019-03-27 18:19:10 +00:00
Maneesh Gupta 93906a072c Merge pull request #987 from gargrahul/fix_hostmalloc_double_device_map
Avoid double mapping of devices to hostMalloc buffer
2019-03-27 05:23:47 +00:00
Maneesh Gupta 178e3ecdca Merge pull request #990 from mhbliao/hliao/master/sw
SWDEV-184380 Fix hcc compilation
2019-03-27 05:23:26 +00:00
Michael LIAO d355122bf9 SWDEV-184380 Fix hcc compilation
- `hcc` has no builtin. Need to invoke LLVM intrinsic directly.
2019-03-26 15:20:17 -04:00
Rahul Garg 9b38380c03 Let hipHostMalloc always share/map pinned host ptr 2019-03-26 10:19:13 +05:30
Rahul Garg ad11972f47 Avoid double mapping of devices to hostMalloc buffer 2019-03-25 23:07:05 +05:30
Michael LIAO 13655df76e [hip] Fix typo in macro hipLaunchKernel 2019-03-25 12:06:46 -04:00
Maneesh Gupta c20d233585 Merge pull request #970 from mangupta/swdev-172995
hipExtMallocWithFlags implementation
2019-03-25 07:46:53 +00:00
Maneesh Gupta 9de28dfa5a Merge pull request #962 from gargrahul/add_2d_copy_fallback
Add 2D fallback to use copy kernel
2019-03-25 07:46:43 +00:00
Rahul Garg bec3995700 2D Fallback needs hcc workweek 19101 or higher 2019-03-25 12:07:28 +05:30
Maneesh Gupta 45255ab492 hipExtMallocWithFlags needs hcc workweek 19115 or higher 2019-03-25 11:41:20 +05:30
Maneesh Gupta 158eac9374 Merge pull request #982 from ROCm-Developer-Tools/hack_swdev-173477
HACK for SWDEV-173477
2019-03-22 09:14:38 +00:00