| !===-- module/__cuda_builtins.f90 ------------------------------------------===! |
| ! |
| ! Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| ! See https://llvm.org/LICENSE.txt for license information. |
| ! SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| ! |
| !===------------------------------------------------------------------------===! |
| |
| ! These CUDA predefined variables are automatically available in device |
| ! subprograms. |
| |
| module __CUDA_builtins |
| use __fortran_builtins, only: & |
| threadIdx => __builtin_threadIdx, & |
| blockDim => __builtin_blockDim, & |
| blockIdx => __builtin_blockIdx, & |
| gridDim => __builtin_gridDim, & |
| warpsize => __builtin_warpsize |
| |
| implicit none |
| |
| ! Set PRIVATE by default to explicitly only export what is meant |
| ! to be exported by this MODULE. |
| private |
| |
| public :: threadIdx, & |
| blockDim, & |
| blockIdx, & |
| gridDim, & |
| warpsize |
| end module |