Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Data Types | Modules | Macros | Functions/Subroutines
sll_m_point_to_point_comms.F90 File Reference
#include "sll_assert.h"
#include "sll_memory.h"
#include "sll_working_precision.h"
Include dependency graph for sll_m_point_to_point_comms.F90:

Go to the source code of this file.

Data Types

type  buffer_real64
 
type  sll_remote
 
type  port_real64
 
type  sll_t_p2p_comm_real64
 

Modules

module  sll_m_point_to_point_comms
 

Macros

#define SLL_MAX_NUM_PORTS   4096
 
#define BUFFER_PADDING   4
 
#define GET_MPI_REQUEST(comm, port)    comm%ports(port)%buffer(comm%ports(port)%bit + 1)%request
 

Functions/Subroutines

subroutine, public sll_s_view_port (comm, port)
 
integer(kind=i32) function flip_bit (bit)
 
subroutine flip_buffer (comm, port)
 
real(kind=f64) function, dimension(:), pointer, public sll_f_get_buffer (comm, port)
 
integer(kind=i32) function receive_tag (bit, my_port, other_port)
 
function send_tag (bit, my_port, other_port)
 
subroutine initialize_buffer_real64 (buff, num_elems)
 
subroutine initialize_port_real64 (port, buf_num_elems)
 
subroutine check_buffer_size (comm, size)
 
subroutine check_port (comm, port)
 
logical function port_is_busy (comm, port)
 
subroutine check_other_rank (comm, other_rank)
 
function get_num_ports (comm)
 
function get_buffer_size (comm)
 
type(sll_t_p2p_comm_real64) function, pointer, public sll_f_new_comm_real64 (collective, num_ports, buffer_size)
 
subroutine connect_ports (comm, port, remote, remote_port)
 
subroutine, public sll_s_comm_send_real64 (comm, port, size)
 
subroutine, public sll_s_comm_receive_real64 (comm, port, count)
 
subroutine, public sll_s_delete_comm_real64 (comm)
 
logical function port_num_is_valid (num)
 
subroutine, public sll_s_create_comm_real64_ring (comm)
 
subroutine find_ij (rank, nprocx, i, j)
 
integer(kind=i32) function rank_index (nprocx, i, j)
 
subroutine, public sll_s_configure_comm_real64_torus_2d (comm, nprocx, nprocy)
 

Macro Definition Documentation

◆ BUFFER_PADDING

#define BUFFER_PADDING   4

◆ GET_MPI_REQUEST

#define GET_MPI_REQUEST (   comm,
  port 
)     comm%ports(port)%buffer(comm%ports(port)%bit + 1)%request

◆ SLL_MAX_NUM_PORTS

#define SLL_MAX_NUM_PORTS   4096
    Report Typos and Errors