Changeset View
Changeset View
Standalone View
Standalone View
openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu
Show First 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | |||||
EXTERN void __kmpc_impl_threadfence() { __nvvm_membar_gl(); } | EXTERN void __kmpc_impl_threadfence() { __nvvm_membar_gl(); } | ||||
EXTERN void __kmpc_impl_threadfence_block() { __nvvm_membar_cta(); } | EXTERN void __kmpc_impl_threadfence_block() { __nvvm_membar_cta(); } | ||||
EXTERN void __kmpc_impl_threadfence_system() { __nvvm_membar_sys(); } | EXTERN void __kmpc_impl_threadfence_system() { __nvvm_membar_sys(); } | ||||
// Calls to the NVPTX layer (assuming 1D layout) | // Calls to the NVPTX layer (assuming 1D layout) | ||||
EXTERN int GetThreadIdInBlock() { return __nvvm_read_ptx_sreg_tid_x(); } | EXTERN int GetThreadIdInBlock() { return __nvvm_read_ptx_sreg_tid_x(); } | ||||
EXTERN int GetBlockIdInKernel() { return __nvvm_read_ptx_sreg_ctaid_x(); } | EXTERN int GetBlockIdInKernel() { return __nvvm_read_ptx_sreg_ctaid_x(); } | ||||
EXTERN int GetNumberOfBlocksInKernel() { | EXTERN int __kmpc_get_hardware_num_blocks() { | ||||
JonChesterfield: rename the functions in amdgcn/src/target_impl.hip too please | |||||
return __nvvm_read_ptx_sreg_nctaid_x(); | return __nvvm_read_ptx_sreg_nctaid_x(); | ||||
} | } | ||||
EXTERN int GetNumberOfThreadsInBlock() { return __nvvm_read_ptx_sreg_ntid_x(); } | EXTERN int __kmpc_get_hardware_num_threads_in_block() { return __nvvm_read_ptx_sreg_ntid_x(); } | ||||
Lint: Pre-merge checks clang-format: please reformat the code -EXTERN int __kmpc_get_hardware_num_threads_in_block() { return __nvvm_read_ptx_sreg_ntid_x(); } +EXTERN int __kmpc_get_hardware_num_threads_in_block() { + return __nvvm_read_ptx_sreg_ntid_x(); +} Lint: Pre-merge checks: clang-format: please reformat the code
```
-EXTERN int __kmpc_get_hardware_num_threads_in_block… | |||||
EXTERN unsigned GetWarpId() { return GetThreadIdInBlock() / WARPSIZE; } | EXTERN unsigned GetWarpId() { return GetThreadIdInBlock() / WARPSIZE; } | ||||
EXTERN unsigned GetWarpSize() { return WARPSIZE; } | EXTERN unsigned GetWarpSize() { return WARPSIZE; } | ||||
EXTERN unsigned GetLaneId() { return GetThreadIdInBlock() & (WARPSIZE - 1); } | EXTERN unsigned GetLaneId() { return GetThreadIdInBlock() & (WARPSIZE - 1); } | ||||
// Atomics | // Atomics | ||||
uint32_t __kmpc_atomic_add(uint32_t *Address, uint32_t Val) { | uint32_t __kmpc_atomic_add(uint32_t *Address, uint32_t Val) { | ||||
return __atomic_fetch_add(Address, Val, __ATOMIC_SEQ_CST); | return __atomic_fetch_add(Address, Val, __ATOMIC_SEQ_CST); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 71 Lines • Show Last 20 Lines |
rename the functions in amdgcn/src/target_impl.hip too please