| | 52 | |
| | 53 | The comm library supports message-passing-style communication. |
| | 54 | It provides a number of basic data structures which can be used to implement specific message-passing interfaces, such as MPI. |
| | 55 | |
| | 56 | === Types |
| | 57 | * `$message` |
| | 58 | * `$gcomm` |
| | 59 | * `$comm` |
| | 60 | |
| | 61 | === Constants |
| | 62 | * `$COMM_ANY_SOURCE` |
| | 63 | * `$COMM_ANY_TAG` |
| | 64 | |
| | 65 | === Functions |
| | 66 | * `$atomic_f $message $message_pack(int source, int dest, int tag, const void *data, int size)` |
| | 67 | * `$atomic_f int $message_source($message message)` |
| | 68 | * `$atomic_f int $message_tag($message message)` |
| | 69 | * `$atomic_f int $message_dest($message message)` |
| | 70 | * `$atomic_f int $message_size($message message)` |
| | 71 | * `$atomic_f void $message_unpack($message message, void *buf, int size)` |
| | 72 | * `$atomic_f $gcomm $gcomm_create($scope scope, int size)` |
| | 73 | * `$atomic_f int $gcomm_destroy($gcomm gcomm, void * junkMsgs)` |
| | 74 | * `$atomic_f void $gcomm_dup($comm comm, $comm newcomm)` |
| | 75 | * `$atomic_f $comm $comm_create($scope scope, $gcomm gcomm, int place)` |
| | 76 | * `$atomic_f void $comm_destroy($comm comm)` |
| | 77 | * `$atomic_f int $comm_size($comm comm)` |
| | 78 | * `$atomic_f int $comm_place($comm comm)` |
| | 79 | * `$system void $comm_enqueue($comm comm, $message message)` |
| | 80 | * `$system $state_f _Bool $comm_probe($comm comm, int source, int tag)` |
| | 81 | * `$system $message $comm_seek($comm comm, int source, int tag)` |
| | 82 | * `$system $message $comm_dequeue($comm comm, int source, int tag)` |
| | 83 | * `$system $state_f _Bool $comm_empty_in($comm )` |
| | 84 | * `$system $state_f _Bool $comm_empty_out($comm )` |
| | 85 | |
| | 86 | |