32 lines · plain
1!===-- module/__cuda_builtins.f90 ------------------------------------------===!2!3! Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4! See https://llvm.org/LICENSE.txt for license information.5! SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6!7!===------------------------------------------------------------------------===!8 9! These CUDA predefined variables are automatically available in device10! subprograms.11 12module __CUDA_builtins13 use __fortran_builtins, only: &14 threadIdx => __builtin_threadIdx, &15 blockDim => __builtin_blockDim, &16 blockIdx => __builtin_blockIdx, &17 gridDim => __builtin_gridDim, &18 warpsize => __builtin_warpsize19 20 implicit none21 22 ! Set PRIVATE by default to explicitly only export what is meant23 ! to be exported by this MODULE.24 private25 26 public :: threadIdx, &27 blockDim, &28 blockIdx, &29 gridDim, &30 warpsize31end module32