Documentation ¶
Overview ¶
Package mpi wraps the Message Passing Interface for distributed memory data sharing across a collection of processors (procs).
The wrapping code was initially copied from https://github.com/cpmech/gosl/mpi and significantly modified.
All standard Go types are supported using the apache arrow tmpl generation tool. Int is assumed to be 64bit and is defined as a []int because that is typically more convenient.
Index ¶
- Constants
- Variables
- func AllPrintf(fs string, pars ...any)
- func AllPrintln(fs ...any)
- func Finalize()
- func Init()
- func InitThreadSafe() error
- func IsOn() bool
- func Printf(fs string, pars ...any)
- func Println(fs ...any)
- func WorldRank() (rank int)
- func WorldSize() (size int)
- type Comm
- func (cm *Comm) Abort() error
- func (cm *Comm) AllGatherC128(dest, orig []complex128) error
- func (cm *Comm) AllGatherC64(dest, orig []complex64) error
- func (cm *Comm) AllGatherF32(dest, orig []float32) error
- func (cm *Comm) AllGatherF64(dest, orig []float64) error
- func (cm *Comm) AllGatherI16(dest, orig []int16) error
- func (cm *Comm) AllGatherI32(dest, orig []int32) error
- func (cm *Comm) AllGatherI64(dest, orig []int64) error
- func (cm *Comm) AllGatherI8(dest, orig []int8) error
- func (cm *Comm) AllGatherInt(dest, orig []int) error
- func (cm *Comm) AllGatherU16(dest, orig []uint16) error
- func (cm *Comm) AllGatherU32(dest, orig []uint32) error
- func (cm *Comm) AllGatherU64(dest, orig []uint64) error
- func (cm *Comm) AllGatherU8(dest, orig []uint8) error
- func (cm *Comm) AllReduceC128(op Op, dest, orig []complex128) error
- func (cm *Comm) AllReduceC64(op Op, dest, orig []complex64) error
- func (cm *Comm) AllReduceF32(op Op, dest, orig []float32) error
- func (cm *Comm) AllReduceF64(op Op, dest, orig []float64) error
- func (cm *Comm) AllReduceI16(op Op, dest, orig []int16) error
- func (cm *Comm) AllReduceI32(op Op, dest, orig []int32) error
- func (cm *Comm) AllReduceI64(op Op, dest, orig []int64) error
- func (cm *Comm) AllReduceI8(op Op, dest, orig []int8) error
- func (cm *Comm) AllReduceInt(op Op, dest, orig []int) error
- func (cm *Comm) AllReduceU16(op Op, dest, orig []uint16) error
- func (cm *Comm) AllReduceU32(op Op, dest, orig []uint32) error
- func (cm *Comm) AllReduceU64(op Op, dest, orig []uint64) error
- func (cm *Comm) AllReduceU8(op Op, dest, orig []uint8) error
- func (cm *Comm) Barrier() error
- func (cm *Comm) BcastC128(fmProc int, vals []complex128) error
- func (cm *Comm) BcastC64(fmProc int, vals []complex64) error
- func (cm *Comm) BcastF32(fmProc int, vals []float32) error
- func (cm *Comm) BcastF64(fmProc int, vals []float64) error
- func (cm *Comm) BcastI16(fmProc int, vals []int16) error
- func (cm *Comm) BcastI32(fmProc int, vals []int32) error
- func (cm *Comm) BcastI64(fmProc int, vals []int64) error
- func (cm *Comm) BcastI8(fmProc int, vals []int8) error
- func (cm *Comm) BcastInt(fmProc int, vals []int) error
- func (cm *Comm) BcastU16(fmProc int, vals []uint16) error
- func (cm *Comm) BcastU32(fmProc int, vals []uint32) error
- func (cm *Comm) BcastU64(fmProc int, vals []uint64) error
- func (cm *Comm) BcastU8(fmProc int, vals []uint8) error
- func (cm *Comm) GatherC128(toProc int, dest, orig []complex128) error
- func (cm *Comm) GatherC64(toProc int, dest, orig []complex64) error
- func (cm *Comm) GatherF32(toProc int, dest, orig []float32) error
- func (cm *Comm) GatherF64(toProc int, dest, orig []float64) error
- func (cm *Comm) GatherI16(toProc int, dest, orig []int16) error
- func (cm *Comm) GatherI32(toProc int, dest, orig []int32) error
- func (cm *Comm) GatherI64(toProc int, dest, orig []int64) error
- func (cm *Comm) GatherI8(toProc int, dest, orig []int8) error
- func (cm *Comm) GatherInt(toProc int, dest, orig []int) error
- func (cm *Comm) GatherU16(toProc int, dest, orig []uint16) error
- func (cm *Comm) GatherU32(toProc int, dest, orig []uint32) error
- func (cm *Comm) GatherU64(toProc int, dest, orig []uint64) error
- func (cm *Comm) GatherU8(toProc int, dest, orig []uint8) error
- func (cm *Comm) Rank() (rank int)
- func (cm *Comm) RecvC128(fmProc int, tag int, vals []complex128) error
- func (cm *Comm) RecvC64(fmProc int, tag int, vals []complex64) error
- func (cm *Comm) RecvF32(fmProc int, tag int, vals []float32) error
- func (cm *Comm) RecvF64(fmProc int, tag int, vals []float64) error
- func (cm *Comm) RecvI16(fmProc int, tag int, vals []int16) error
- func (cm *Comm) RecvI32(fmProc int, tag int, vals []int32) error
- func (cm *Comm) RecvI64(fmProc int, tag int, vals []int64) error
- func (cm *Comm) RecvI8(fmProc int, tag int, vals []int8) error
- func (cm *Comm) RecvInt(fmProc int, tag int, vals []int) error
- func (cm *Comm) RecvU16(fmProc int, tag int, vals []uint16) error
- func (cm *Comm) RecvU32(fmProc int, tag int, vals []uint32) error
- func (cm *Comm) RecvU64(fmProc int, tag int, vals []uint64) error
- func (cm *Comm) RecvU8(fmProc int, tag int, vals []uint8) error
- func (cm *Comm) ReduceC128(toProc int, op Op, dest, orig []complex128) error
- func (cm *Comm) ReduceC64(toProc int, op Op, dest, orig []complex64) error
- func (cm *Comm) ReduceF32(toProc int, op Op, dest, orig []float32) error
- func (cm *Comm) ReduceF64(toProc int, op Op, dest, orig []float64) error
- func (cm *Comm) ReduceI16(toProc int, op Op, dest, orig []int16) error
- func (cm *Comm) ReduceI32(toProc int, op Op, dest, orig []int32) error
- func (cm *Comm) ReduceI64(toProc int, op Op, dest, orig []int64) error
- func (cm *Comm) ReduceI8(toProc int, op Op, dest, orig []int8) error
- func (cm *Comm) ReduceInt(toProc int, op Op, dest, orig []int) error
- func (cm *Comm) ReduceU16(toProc int, op Op, dest, orig []uint16) error
- func (cm *Comm) ReduceU32(toProc int, op Op, dest, orig []uint32) error
- func (cm *Comm) ReduceU64(toProc int, op Op, dest, orig []uint64) error
- func (cm *Comm) ReduceU8(toProc int, op Op, dest, orig []uint8) error
- func (cm *Comm) ScatterC128(fmProc int, dest, orig []complex128) error
- func (cm *Comm) ScatterC64(fmProc int, dest, orig []complex64) error
- func (cm *Comm) ScatterF32(fmProc int, dest, orig []float32) error
- func (cm *Comm) ScatterF64(fmProc int, dest, orig []float64) error
- func (cm *Comm) ScatterI16(fmProc int, dest, orig []int16) error
- func (cm *Comm) ScatterI32(fmProc int, dest, orig []int32) error
- func (cm *Comm) ScatterI64(fmProc int, dest, orig []int64) error
- func (cm *Comm) ScatterI8(fmProc int, dest, orig []int8) error
- func (cm *Comm) ScatterInt(fmProc int, dest, orig []int) error
- func (cm *Comm) ScatterU16(fmProc int, dest, orig []uint16) error
- func (cm *Comm) ScatterU32(fmProc int, dest, orig []uint32) error
- func (cm *Comm) ScatterU64(fmProc int, dest, orig []uint64) error
- func (cm *Comm) ScatterU8(fmProc int, dest, orig []uint8) error
- func (cm *Comm) SendC128(toProc int, tag int, vals []complex128) error
- func (cm *Comm) SendC64(toProc int, tag int, vals []complex64) error
- func (cm *Comm) SendF32(toProc int, tag int, vals []float32) error
- func (cm *Comm) SendF64(toProc int, tag int, vals []float64) error
- func (cm *Comm) SendI16(toProc int, tag int, vals []int16) error
- func (cm *Comm) SendI32(toProc int, tag int, vals []int32) error
- func (cm *Comm) SendI64(toProc int, tag int, vals []int64) error
- func (cm *Comm) SendI8(toProc int, tag int, vals []int8) error
- func (cm *Comm) SendInt(toProc int, tag int, vals []int) error
- func (cm *Comm) SendU16(toProc int, tag int, vals []uint16) error
- func (cm *Comm) SendU32(toProc int, tag int, vals []uint32) error
- func (cm *Comm) SendU64(toProc int, tag int, vals []uint64) error
- func (cm *Comm) SendU8(toProc int, tag int, vals []uint8) error
- func (cm *Comm) Size() (size int)
- type Op
Constants ¶
const ( // Root is the rank 0 node -- it is more semantic to use this Root int = 0 )
Variables ¶
var LogErrors = true
set LogErrors to control whether MPI errors are automatically logged or not
var PrintAllProcs = false
PrintAllProcs causes mpi.Printf to print on all processors -- otherwise just 0
Functions ¶
func AllPrintf ¶
AllPrintf does fmt.Printf on all nodes, with node rank printed first This is best for debugging MPI itself.
func AllPrintln ¶
func AllPrintln(fs ...any)
AllPrintln does fmt.Println on all nodes, with node rank printed first This is best for debugging MPI itself.
func IsOn ¶
func IsOn() bool
IsOn tells whether MPI is on or not
NOTE: this returns true even after Stop
func Printf ¶
Printf does fmt.Printf only on the 0 rank node (see also AllPrintf to do all) and PrintAllProcs var to override for debugging, and print all
func Println ¶
func Println(fs ...any)
Println does fmt.Println only on the 0 rank node (see also AllPrintln to do all) and PrintAllProcs var to override for debugging, and print all
Types ¶
type Comm ¶
type Comm struct { }
Comm is the MPI communicator -- all MPI communication operates as methods on this struct. It holds the MPI_Comm communicator and MPI_Group for sub-World group communication.
func NewComm ¶
NewComm creates a new communicator. if ranks is nil, communicator is for World (all active procs). otherwise, defined a group-level commuicator for given ranks.
func (*Comm) AllGatherC128 ¶
func (cm *Comm) AllGatherC128(dest, orig []complex128) error
AllGatherC128 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherC64 ¶
AllGatherC64 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherF32 ¶
AllGatherF32 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherF64 ¶
AllGatherF64 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherI16 ¶
AllGatherI16 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherI32 ¶
AllGatherI32 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherI64 ¶
AllGatherI64 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherI8 ¶
AllGatherI8 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherInt ¶
AllGatherInt gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherU16 ¶
AllGatherU16 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherU32 ¶
AllGatherU32 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherU64 ¶
AllGatherU64 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllGatherU8 ¶
AllGatherU8 gathers values from all procs into all procs, tiled by proc into dest of size np * len(orig). IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceC128 ¶
func (cm *Comm) AllReduceC128(op Op, dest, orig []complex128) error
AllReduceC128 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceC64 ¶
AllReduceC64 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceF32 ¶
AllReduceF32 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceF64 ¶
AllReduceF64 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceI16 ¶
AllReduceI16 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceI32 ¶
AllReduceI32 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceI64 ¶
AllReduceI64 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceI8 ¶
AllReduceI8 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceInt ¶
AllReduceInt reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceU16 ¶
AllReduceU16 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceU32 ¶
AllReduceU32 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceU64 ¶
AllReduceU64 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) AllReduceU8 ¶
AllReduceU8 reduces all values across procs to all procs from orig into dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) BcastC128 ¶
func (cm *Comm) BcastC128(fmProc int, vals []complex128) error
BcastC128 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastC64 ¶
BcastC64 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastF32 ¶
BcastF32 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastF64 ¶
BcastF64 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastI16 ¶
BcastI16 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastI32 ¶
BcastI32 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastI64 ¶
BcastI64 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastI8 ¶
BcastI8 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastInt ¶
BcastInt broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastU16 ¶
BcastU16 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastU32 ¶
BcastU32 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastU64 ¶
BcastU64 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) BcastU8 ¶
BcastU8 broadcasts slice from fmProc to all other procs. All nodes have the same vals after this call, copied from fmProc.
func (*Comm) GatherC128 ¶
func (cm *Comm) GatherC128(toProc int, dest, orig []complex128) error
GatherC128 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherC64 ¶
GatherC64 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherF32 ¶
GatherF32 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherF64 ¶
GatherF64 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherI16 ¶
GatherI16 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherI32 ¶
GatherI32 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherI64 ¶
GatherI64 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherI8 ¶
GatherI8 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherInt ¶
GatherInt gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherU16 ¶
GatherU16 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherU32 ¶
GatherU32 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherU64 ¶
GatherU64 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) GatherU8 ¶
GatherU8 gathers values from all procs into toProc proc, tiled into dest of size np * len(orig). This is inverse of Scatter. IMPORTANT: orig and dest must be different slices.
func (*Comm) RecvC128 ¶
func (cm *Comm) RecvC128(fmProc int, tag int, vals []complex128) error
Recv64C128 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvC64 ¶
Recv64C64 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvF32 ¶
Recv64F32 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvF64 ¶
Recv64F64 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvI16 ¶
Recv64I16 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvI32 ¶
Recv64I32 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvI64 ¶
Recv64I64 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvI8 ¶
Recv64I8 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvInt ¶
Recv64Int receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvU16 ¶
Recv64U16 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvU32 ¶
Recv64U32 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvU64 ¶
Recv64U64 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) RecvU8 ¶
Recv64U8 receives values from proc fmProc, using given unique tag identifier This is Blocking. Must have a corresponding Send call with same tag on fmProc, to this proc
func (*Comm) ReduceC128 ¶
func (cm *Comm) ReduceC128(toProc int, op Op, dest, orig []complex128) error
ReduceC128 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceC64 ¶
ReduceC64 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceF32 ¶
ReduceF32 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceF64 ¶
ReduceF64 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceI16 ¶
ReduceI16 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceI32 ¶
ReduceI32 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceI64 ¶
ReduceI64 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceI8 ¶
ReduceI8 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceInt ¶
ReduceInt reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceU16 ¶
ReduceU16 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceU32 ¶
ReduceU32 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceU64 ¶
ReduceU64 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ReduceU8 ¶
ReduceU8 reduces all values across procs to toProc in orig to dest using given operation. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterC128 ¶
func (cm *Comm) ScatterC128(fmProc int, dest, orig []complex128) error
ScatterC128 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterC64 ¶
ScatterC64 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterF32 ¶
ScatterF32 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterF64 ¶
ScatterF64 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterI16 ¶
ScatterI16 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterI32 ¶
ScatterI32 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterI64 ¶
ScatterI64 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterI8 ¶
ScatterI8 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterInt ¶
ScatterInt scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterU16 ¶
ScatterU16 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterU32 ¶
ScatterU32 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterU64 ¶
ScatterU64 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) ScatterU8 ¶
ScatterU8 scatters values from fmProc to all procs, distributing len(dest) size chunks to each proc from orig slice, which must be of size np * len(dest). This is inverse of Gather. IMPORTANT: orig and dest must be different slices
func (*Comm) SendC128 ¶
func (cm *Comm) SendC128(toProc int, tag int, vals []complex128) error
SendC128 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendC64 ¶
SendC64 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendF32 ¶
SendF32 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendF64 ¶
SendF64 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendI16 ¶
SendI16 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendI32 ¶
SendI32 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendI64 ¶
SendI64 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendI8 ¶
SendI8 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendInt ¶
SendInt sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendU16 ¶
SendU16 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendU32 ¶
SendU32 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc
func (*Comm) SendU64 ¶
SendU64 sends values to toProc, using given unique tag identifier. This is Blocking. Must have a corresponding Recv call with same tag on toProc, from this proc