SELF_GPU_enums.f90 Source File


Files dependent on this one

sourcefile~~self_gpu_enums.f90~~AfferentGraph sourcefile~self_gpu_enums.f90 SELF_GPU_enums.f90 sourcefile~self_gpu.f90 SELF_GPU.f90 sourcefile~self_gpu.f90->sourcefile~self_gpu_enums.f90 sourcefile~self_gpublas.f90 SELF_GPUBLAS.f90 sourcefile~self_gpublas.f90->sourcefile~self_gpu_enums.f90 sourcefile~self_gpublas.f90~2 SELF_GPUBLAS.f90 sourcefile~self_gpublas.f90~2->sourcefile~self_gpu_enums.f90 sourcefile~self_gpu.f90~2 SELF_GPU.f90 sourcefile~self_gpu.f90~2->sourcefile~self_gpu_enums.f90 sourcefile~self_gpuinterfaces.f90 SELF_GPUInterfaces.f90 sourcefile~self_gpuinterfaces.f90->sourcefile~self_gpu.f90 sourcefile~self_scalar_1d.f90~3 SELF_Scalar_1D.f90 sourcefile~self_scalar_1d.f90~3->sourcefile~self_gpu.f90 sourcefile~self_scalar_1d.f90~3->sourcefile~self_gpublas.f90 sourcefile~self_scalar_1d.f90~3->sourcefile~self_gpuinterfaces.f90 sourcefile~self_tensor_2d.f90~2 SELF_Tensor_2D.f90 sourcefile~self_tensor_2d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_tensor_2d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_lagrange.f90~2 SELF_Lagrange.f90 sourcefile~self_lagrange.f90~2->sourcefile~self_gpu.f90 sourcefile~self_advection_diffusion_1d.f90~2 SELF_advection_diffusion_1d.f90 sourcefile~self_advection_diffusion_1d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_mesh_3d.f90~2 SELF_Mesh_3D.f90 sourcefile~self_mesh_3d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_mesh_2d.f90~2 SELF_Mesh_2D.f90 sourcefile~self_mesh_2d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_dgmodel3d.f90~2 SELF_DGModel3D.f90 sourcefile~self_dgmodel3d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_dgmodel3d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_scalar_2d.f90~2 SELF_Scalar_2D.f90 sourcefile~self_scalar_2d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_scalar_2d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_scalar_2d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_dgmodel2d.f90~2 SELF_DGModel2D.f90 sourcefile~self_dgmodel2d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_dgmodel2d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_mappedscalar_3d.f90~2 SELF_MappedScalar_3D.f90 sourcefile~self_mappedscalar_3d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_mappedscalar_3d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_tensor_3d.f90~2 SELF_Tensor_3D.f90 sourcefile~self_tensor_3d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_tensor_3d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_dgmodel1d.f90~2 SELF_DGModel1D.f90 sourcefile~self_dgmodel1d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_dgmodel1d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_scalar_1d.f90~2 SELF_Scalar_1D.f90 sourcefile~self_scalar_1d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_scalar_1d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_vector_2d.f90~2 SELF_Vector_2D.f90 sourcefile~self_vector_2d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_vector_2d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_vector_2d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_mappedscalar_2d.f90~2 SELF_MappedScalar_2D.f90 sourcefile~self_mappedscalar_2d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_mappedscalar_2d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_lagrange.f90~3 SELF_Lagrange.f90 sourcefile~self_lagrange.f90~3->sourcefile~self_gpu.f90 sourcefile~self_mappedscalar_1d.f90~2 SELF_MappedScalar_1D.f90 sourcefile~self_mappedscalar_1d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_mappedvector_3d.f90~2 SELF_MappedVector_3D.f90 sourcefile~self_mappedvector_3d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_mappedvector_3d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_mappedvector_3d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_scalar_3d.f90~2 SELF_Scalar_3D.f90 sourcefile~self_scalar_3d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_scalar_3d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_scalar_3d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_vector_3d.f90~2 SELF_Vector_3D.f90 sourcefile~self_vector_3d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_vector_3d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_vector_3d.f90~2->sourcefile~self_gpuinterfaces.f90 sourcefile~self_mappedvector_2d.f90~2 SELF_MappedVector_2D.f90 sourcefile~self_mappedvector_2d.f90~2->sourcefile~self_gpu.f90 sourcefile~self_mappedvector_2d.f90~2->sourcefile~self_gpublas.f90 sourcefile~self_mappedvector_2d.f90~2->sourcefile~self_gpuinterfaces.f90

Contents

Source Code


Source Code

! //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// !
!
! Maintainers : support@fluidnumerics.com
! Official Repository : https://github.com/FluidNumerics/self/
!
! Copyright © 2024 Fluid Numerics LLC
!
! Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
!
! 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
!
! 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
!    the documentation and/or other materials provided with the distribution.
!
! 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from
!    this software without specific prior written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
! HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
! LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
! THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
! THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
!
! //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// !

module SELF_GPU_enums

  use iso_c_binding

  implicit none

  enum,bind(c)
    enumerator :: hipSuccess = 0
  endenum

  enum,bind(c)
    enumerator :: hipMemcpyHostToHost = 0
    enumerator :: hipMemcpyHostToDevice = 1
    enumerator :: hipMemcpyDeviceToHost = 2
    enumerator :: hipMemcpyDeviceToDevice = 3
    enumerator :: hipMemcpyDefault = 4
  endenum

  enum,bind(c)
    enumerator :: HIPBLAS_STATUS_SUCCESS = 0
    enumerator :: HIPBLAS_STATUS_NOT_INITIALIZED = 1
    enumerator :: HIPBLAS_STATUS_ALLOC_FAILED = 2
    enumerator :: HIPBLAS_STATUS_INVALID_VALUE = 3
    enumerator :: HIPBLAS_STATUS_MAPPING_ERROR = 4
    enumerator :: HIPBLAS_STATUS_EXECUTION_FAILED = 5
    enumerator :: HIPBLAS_STATUS_INTERNAL_ERROR = 6
    enumerator :: HIPBLAS_STATUS_NOT_SUPPORTED = 7
    enumerator :: HIPBLAS_STATUS_ARCH_MISMATCH = 8
    enumerator :: HIPBLAS_STATUS_HANDLE_IS_NULLPTR = 9
    enumerator :: HIPBLAS_STATUS_INVALID_ENUM = 10
    enumerator :: HIPBLAS_STATUS_UNKNOWN = 11
  endenum

  enum,bind(c)
#ifdef HAVE_CUDA
    enumerator :: HIPBLAS_OP_N = 0
#else
    enumerator :: HIPBLAS_OP_N = 111
#endif
#ifdef HAVE_CUDA
    enumerator :: HIPBLAS_OP_T = 1
#else
    enumerator :: HIPBLAS_OP_T = 112
#endif
  endenum

endmodule SELF_GPU_enums