#ifndef __OCFD_MPI_DEV_H #define __OCFD_MPI_DEV_H #include "cuda_commen.h" #ifdef __cplusplus extern "C" { #endif void exchange_boundary_xyz_dev(REAL *hostptr, cudaField * devptr); void exchange_boundary_x_dev(REAL *hostptr, cudaField * devptr, int Iperiodic1); void exchange_boundary_y_dev(REAL *hostptr, cudaField * devptr, int Iperiodic1); void exchange_boundary_z_dev(REAL *hostptr, cudaField * devptr, int Iperiodic1); void exchange_boundary_x_standard_dev(REAL *hostptr, cudaField * devptr, int Iperiodic1); void exchange_boundary_y_standard_dev(REAL *hostptr, cudaField * devptr, int Iperiodic1); void exchange_boundary_z_standard_dev(REAL *hostptr, cudaField * devptr, int Iperiodic1); void opencfd_mem_init_mpi_dev(); void opencfd_mem_finalize_mpi_dev(); void exchange_boundary_xyz_Async_packed_dev(REAL *hostptr, cudaField * devptr , cudaStream_t *stream); void exchange_boundary_x_Async_packed_dev(REAL *hostptr , cudaField * devptr, int Iperiodic1 , cudaStream_t *stream); void exchange_boundary_y_Async_packed_dev(REAL *hostptr , cudaField * devptr, int Iperiodic1 , cudaStream_t *stream); void exchange_boundary_z_Async_packed_dev(REAL *hostptr , cudaField * devptr, int Iperiodic1 , cudaStream_t *stream); void exchange_boundary_xyz_packed_dev(REAL *hostptr, cudaField * devptr); void exchange_boundary_x_packed_dev(REAL *hostptr , cudaField * devptr, int Iperiodic1); void exchange_boundary_y_packed_dev(REAL *hostptr , cudaField * devptr, int Iperiodic1); void exchange_boundary_z_packed_dev(REAL *hostptr , cudaField * devptr, int Iperiodic1); #ifdef __cplusplus } #endif #endif