#include <messshm.h>
Inheritance diagram for sc::ShmMessageGrp
Public Methods | |
ShmMessageGrp () | |
Reads the number of processors from environmental variable NUMPROC. | |
ShmMessageGrp (const Ref< KeyVal > &) | |
The ShmMessageGrp KeyVal constructor takes a single keyword that specifies the number of processors. More... | |
ShmMessageGrp (int nprocs) | |
Initialize ShmMessageGrp to use nprocs processors. | |
~ShmMessageGrp () | |
void | sync () |
Synchronize all of the processors. | |
Ref<MessageGrp> | clone (void) |
Returns a copy of this MessageGrp specialization that provides an independent communication context. | |
Protected Methods | |
void | basic_send (int target, int type, void *data, int nbyte) |
Must be implemented by specializations. | |
void | basic_recv (int type, void *data, int nbyte) |
Must be implemented by specializations. | |
int | basic_probe (int type) |
Must be implemented by specializations. | |
void | initialize (int nprocs) |
void | initialize () |
msgbuf_t* | NEXT_MESSAGE (msgbuf_t *m) |
void | get_change (int node) |
void | put_change (int node) |
void | wait_for_write (int node) |
void | release_write (int node) |
void | print_buffer (int node, int me) |
Protected Attributes | |
commbuf_t* | commbuf [MAXPROCS] |
int | shmid |
int | semid |
int | change_semid |
void* | sharedmem |
struct sembuf | semdec |
struct sembuf | seminc |
This only provides improved performance if you have multiple CPU's in a symmetric multiprocessor configuration. Nonetheless, it is quite useful on a single CPU for tracking down bugs.
|
The ShmMessageGrp KeyVal constructor takes a single keyword that specifies the number of processors. Here is an example of a ParsedKeyVal input that creates a ShmMessageGrp that runs on four processors:
message<ShmMessageGrp>: n = 4 |