bsp_memreg.h File Reference

Defines prototypes of methods on MemoryRegister. More...

#include <stdlib.h>
#include "bsp_abort.h"
#include "bsp_exptable.h"
#include <config.h>

Include dependency graph for bsp_memreg.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void memoryRegister_initialize (ExpandableTable *restrict, const unsigned int, const unsigned int, const unsigned int)
void memoryRegister_destruct (ExpandableTable *restrict)
void memoryRegister_expand (ExpandableTable *restrict, const unsigned int)
void memoryRegister_push (ExpandableTable *restrict, const unsigned int, const char *const restrict)
void memoryRegister_pop (ExpandableTable *restrict, const unsigned int, const char *const restrict)
void memoryRegister_pack (ExpandableTable *restrict)
static MemRegElement memoryRegister_find (const ExpandableTable *restrict table, const unsigned int sp, const unsigned int dp, const char *const pointer)
 looks up a the address on a remote processor which corresponds to an address on the local processor
static MemRegElement memoryRegister_memoized_find (const ExpandableTable *restrict table, const unsigned int dp, const char *const pointer)
 looks up the address on a remote processor which corresponds to an address on the local processor.


Detailed Description

Defines prototypes of methods on MemoryRegister.

MemoryRegister is a table containing memory locations of variables on all processors. Memory locations on the same row are bsp_push_reg()'ed on all processors at the same time (at the same position in the code)

Author:
Wijnand Suijlen

Definition in file bsp_memreg.h.


Function Documentation

void memoryRegister_destruct ExpandableTable restrict  ) 
 

void memoryRegister_expand ExpandableTable restrict,
const unsigned  int
 

static MemRegElement memoryRegister_find const ExpandableTable *restrict  table,
const unsigned int  sp,
const unsigned int  dp,
const char *const   pointer
[inline, static]
 

looks up a the address on a remote processor which corresponds to an address on the local processor

Parameters:
table Reference to a MemoryRegister
sp Rank of the local processor
dp Rank of the remote processort
pointer Local address of a registered memory location
Returns:
Remote address

Definition at line 65 of file bsp_memreg.h.

References bsp_intern_abort(), ERR_POP_REG_WITHOUT_PUSH, and restrict.

Here is the call graph for this function:

void memoryRegister_initialize ExpandableTable restrict,
const unsigned  int,
const unsigned  int,
const unsigned  int
 

static MemRegElement memoryRegister_memoized_find const ExpandableTable *restrict  table,
const unsigned int  dp,
const char *const   pointer
[inline, static]
 

looks up the address on a remote processor which corresponds to an address on the local processor.

This function is memoized and depends on the MemoryRegisters state of being 'packed'. If not, this function will not function properly

Parameters:
table Reference to a MemoryRegister
dp Rank of the remote processor
pointer Local address of a registered memory location
Returns:
Remote address

Definition at line 93 of file bsp_memreg.h.

References restrict.

Referenced by bsp_get(), and bsp_put().

void memoryRegister_pack ExpandableTable restrict  ) 
 

void memoryRegister_pop ExpandableTable restrict,
const unsigned  int,
const char *const   restrict
 

void memoryRegister_push ExpandableTable restrict,
const unsigned  int,
const char *const   restrict
 


Generated on Sat Apr 8 20:13:34 2006 for BSPonMPI by  doxygen 1.4.6