QMCPACK
cuda2hip.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2021 QMCPACK developers.
6 // Copyright(C) 2021 Advanced Micro Devices, Inc. All rights reserved.
7 //
8 // File developed by: Jakub Kurzak, jakurzak@amd.com, Advanced Micro Devices, Inc.
9 // Ye Luo, yeluo@anl.gov, Argonne National Laboratory
10 //
11 // File created by: Jakub Kurzak, jakurzak@amd.com, Advanced Micro Devices, Inc.
12 //////////////////////////////////////////////////////////////////////////////////////
13 
14 
15 #ifndef CUDA2HIP_H
16 #define CUDA2HIP_H
17 
18 // cuBLAS to hipBLAS
19 #define CUBLAS_OP_N HIPBLAS_OP_N
20 #define CUBLAS_OP_T HIPBLAS_OP_T
21 #define CUBLAS_OP_C HIPBLAS_OP_C
22 #define CUBLAS_STATUS_ALLOC_FAILED HIPBLAS_STATUS_ALLOC_FAILED
23 #define CUBLAS_STATUS_ARCH_MISMATCH HIPBLAS_STATUS_ARCH_MISMATCH
24 #define CUBLAS_STATUS_EXECUTION_FAILED HIPBLAS_STATUS_EXECUTION_FAILED
25 #define CUBLAS_STATUS_INTERNAL_ERROR HIPBLAS_STATUS_INTERNAL_ERROR
26 #define CUBLAS_STATUS_INVALID_VALUE HIPBLAS_STATUS_INVALID_VALUE
27 //#define CUBLAS_STATUS_LICENSE_ERROR HIPBLAS_STATUS_LICENSE_ERROR
28 #define CUBLAS_STATUS_MAPPING_ERROR HIPBLAS_STATUS_MAPPING_ERROR
29 #define CUBLAS_STATUS_NOT_INITIALIZED HIPBLAS_STATUS_NOT_INITIALIZED
30 #define CUBLAS_STATUS_NOT_SUPPORTED HIPBLAS_STATUS_NOT_SUPPORTED
31 #define CUBLAS_STATUS_SUCCESS HIPBLAS_STATUS_SUCCESS
32 
33 #define cublasComplex hipblasComplex
34 #define cublasDoubleComplex hipblasDoubleComplex
35 #define cublasHandle_t hipblasHandle_t
36 #define cublasStatus_t hipblasStatus_t
37 #define cublasCreate hipblasCreate
38 #define cublasDestroy hipblasDestroy
39 #define cublasSetStream hipblasSetStream
40 #define cublasGetStream hipblasGetStream
41 #define cublasOperation_t hipblasOperation_t
42 #define cublasCgeam hipblasCgeam
43 #define cublasCgemv hipblasCgemv
44 #define cublasCgeru hipblasCgeru
45 #define cublasCgemm hipblasCgemm
46 #define cublasCgemmBatched hipblasCgemmBatched
47 #define cublasCgetrfBatched hipblasCgetrfBatched_
48 #define cublasCgetriBatched hipblasCgetriBatched_
49 #define cublasDgeam hipblasDgeam
50 #define cublasDgemv hipblasDgemv
51 #define cublasDger hipblasDger
52 #define cublasDgemm hipblasDgemm
53 #define cublasDgemmBatched hipblasDgemmBatched
54 #define cublasDgetrfBatched hipblasDgetrfBatched_
55 #define cublasDgetriBatched hipblasDgetriBatched_
56 #define cublasSgeam hipblasSgeam
57 #define cublasSgemv hipblasSgemv
58 #define cublasSger hipblasSger
59 #define cublasSgemm hipblasSgemm
60 #define cublasSgemmBatched hipblasSgemmBatched
61 #define cublasSgetrfBatched hipblasSgetrfBatched_
62 #define cublasSgetriBatched hipblasSgetriBatched_
63 #define cublasZgeam hipblasZgeam
64 #define cublasZgemv hipblasZgemv
65 #define cublasZgeru hipblasZgeru
66 #define cublasZgemm hipblasZgemm
67 #define cublasZgemmBatched hipblasZgemmBatched
68 #define cublasZgetrfBatched hipblasZgetrfBatched_
69 #define cublasZgetriBatched hipblasZgetriBatched_
70 
71 // CUDA runtime to HIP runtime
72 #define cuComplex hipComplex
73 #define cuDoubleComplex hipDoubleComplex
74 #define cuCrealf hipCrealf
75 #define cuCimagf hipCimagf
76 #define cuCreal hipCreal
77 #define cuCimag hipCimag
78 #define make_cuComplex make_hipComplex
79 #define make_cuDoubleComplex make_hipDoubleComplex
80 #define cudaAddressModeClamp hipAddressModeClamp
81 #define cudaArray hipArray
82 #define cudaBindTextureToArray hipBindTextureToArray
83 #define cudaChannelFormatDesc hipChannelFormatDesc
84 #define cudaChannelFormatKindFloat hipChannelFormatKindFloat
85 #define cudaCreateChannelDesc hipCreateChannelDesc
86 #define cudaDeviceProp hipDeviceProp_t
87 #define cudaDeviceReset hipDeviceReset
88 #define cudaDeviceSynchronize hipDeviceSynchronize
89 #define cudaError_t hipError_t
90 #define cudaEvent_t hipEvent_t
91 #define cudaEventCreate hipEventCreate
92 #define cudaEventCreateWithFlags hipEventCreateWithFlags
93 #define cudaEventDestroy hipEventDestroy
94 #define cudaEventDisableTiming hipEventDisableTiming
95 #define cudaEventElapsedTime hipEventElapsedTime
96 #define cudaEventRecord hipEventRecord
97 #define cudaEventSynchronize hipEventSynchronize
98 #define cudaFilterModeLinear hipFilterModeLinear
99 #define cudaFree hipFree
100 #define cudaFreeHost hipHostFree
101 #define cudaGetDevice hipGetDevice
102 #define cudaGetDeviceCount hipGetDeviceCount
103 #define cudaGetDeviceProperties hipGetDeviceProperties
104 #define cudaGetErrorName hipGetErrorName
105 #define cudaGetErrorString hipGetErrorString
106 #define cudaGetLastError hipGetLastError
107 #define cudaPeekAtLastError hipPeekAtLastError
108 #define cudaHostAlloc hipHostMalloc
109 #define cudaHostAllocMapped hipHostMallocMapped
110 #define cudaPointerGetAttributes hipPointerGetAttributes
111 #define cudaPointerAttributes hipPointerAttribute_t
112 #define cudaMemoryTypeHost hipMemoryTypeHost
113 #define cudaMemoryTypeDevice hipMemoryTypeDevice
114 #define cudaMemoryTypeManaged hipMemoryTypeManaged
115 #define cudaIpcGetMemHandle hipIpcGetMemHandle
116 #define cudaIpcMemHandle_t hipIpcMemHandle_t
117 #define cudaIpcMemLazyEnablePeerAccess hipIpcMemLazyEnablePeerAccess
118 #define cudaIpcOpenMemHandle hipIpcOpenMemHandle
119 #define cudaMalloc hipMalloc
120 #define cudaMallocArray hipMallocArray
121 #define cudaMallocHost hipHostMalloc
122 #if defined(QMC_DISABLE_HIP_HOST_REGISTER)
123 #define cudaHostRegister(ptr, size, flags) hipSuccess
124 #define cudaHostUnregister(ptr) hipSuccess
125 #else
126 #define cudaHostRegister hipHostRegister
127 #define cudaHostUnregister hipHostUnregister
128 #endif
129 #define cudaHostRegisterDefault hipHostRegisterDefault
130 #define cudaMallocManaged hipMallocManaged
131 #define cudaMemAdvise hipMemAdvise
132 #define cudaMemAdviseSetAccessedBy hipMemAdviseSetAccessedBy
133 #define cudaMemAdviseSetReadMostly hipMemAdviseSetReadMostly
134 #define cudaMemAttachGlobal hipMemAttachGlobal
135 #define cudaMemcpy hipMemcpy
136 #define cudaMemcpyAsync hipMemcpyAsync
137 #define cudaMemcpyDeviceToDevice hipMemcpyDeviceToDevice
138 #define cudaMemcpyDeviceToHost hipMemcpyDeviceToHost
139 #define cudaMemcpyHostToDevice hipMemcpyHostToDevice
140 #define cudaMemcpyHostToHost hipMemcpyHostToHost
141 #define cudaMemcpyToArrayAsync hipMemcpyToArray
142 #define cudaMemcpyToSymbol hipMemcpyToSymbol
143 #define cudaMemcpyToSymbolAsync hipMemcpyToSymbolAsync
144 #define cudaMemset hipMemset
145 #define cudaMemGetInfo hipMemGetInfo
146 #define cudaMemPrefetchAsync hipMemPrefetchAsync
147 #define cudaReadModeElementType hipReadModeElementType
148 #define cudaSetDevice hipSetDevice
149 #define cudaStream_t hipStream_t
150 #define cudaStreamCreate hipStreamCreate
151 #define cudaStreamDestroy hipStreamDestroy
152 #define cudaStreamSynchronize hipStreamSynchronize
153 #define cudaStreamWaitEvent hipStreamWaitEvent
154 #define cudaSuccess hipSuccess
155 
156 #define cudaDeviceSetLimit(limit, value) ;
157 
158 #endif /* CUDA2HIP_H */