API Documentation


OpTiMSoC system functions

group system

Typedefs

typedef struct optimsoc_conf optimsoc_conf

Functions

void optimsoc_init(optimsoc_conf * config)
static uint32_t optimsoc_get_tileid(void)

Get the tile identifier

Return
Identifier of this tile, which is the rank inside all tiles

static uint32_t optimsoc_get_numtiles(void)

Get the total number of tiles

Return
Number of tiles in this system

uint32_t optimsoc_get_numct(void)

Get the number of compute tiles

Return
Number of compute tiles

int optimsoc_get_ctrank(void)

Generate rank of this compute tile in all compute tiles

This gives the rank in the set of compute tiles. For example in a system where a compute tile is at position 0 and one at position 3, they will get this output tile 0 -> ctrank 0 tile 3 -> ctrank 1

Return
rank of this tile

int optimsoc_get_tilerank(unsigned int tile)

Generate rank of given compute tile in all compute tiles

This gives the rank in the set of compute tiles. For example in a system where a compute tile is at position 0 and one at position 3, they will get this output tile 0 -> ctrank 0 tile 3 -> ctrank 1

Return
rank of this tile
Parameters
  • tile: Tile to look up

int optimsoc_get_ranktile(unsigned int rank)

Get the tile that has the given rank

This is the reverse of optimsoc_tilerank and generates the tile identifier for the given rank.

Parameters
  • rank: The rank to lookup

static unsigned int optimsoc_get_relcoreid(void)

Get the core id, relative in this tile

Return
relative core identifier

static unsigned int optimsoc_get_tilenumcores(void)

Get the number of cores in this tile

Return
Number of cores in this tile

static unsigned int optimsoc_get_abscoreid(void)

Get the absolute core id of this core

The absolute core id in the whole system is started from the first compute tile, core 0 and counted up. This may be useful in shared memory systems.

Return
Absolute core id

static uint32_t optimsoc_get_mainmem_size()

Get the size of global memory (if any)

Return the size of globally accessible memory. This memory is not directly accessed, but can only be accessed with DMA transfers. If the system has no global memory, return 0.

Return
Size of memory (or 0, if no memory)

static uint32_t optimsoc_get_mainmem_tile()

Get the tile ID of the global memory

If the system has global memory (optimsoc_get_mainmem_size() > 0), this function returns the tile identifier, where the memory is installed.

Return
Main memory tile identifier

static uint32_t optimsoc_get_localmem_size()

Get size of local memory

Get the size of memory available (and addressed) in this tile.

Return
Size of local memory