StarPU Internal Handbook

Data Fields
_starpu_machine_config Struct Reference

## Data Fields
struct _starpu_machine_topology | topology
int | cpu_depth
int | pu_depth
int | current_bindid
char | currently_bound [STARPU_NMAXWORKERS]
char | currently_shared [STARPU_NMAXWORKERS]
int | current_cuda_gpuid
int | current_opencl_gpuid
int | current_mic_deviceid
int | current_mpi_deviceid
int | cpus_nodeid
int | cuda_nodeid
int | opencl_nodeid
int | mic_nodeid
int | mpi_nodeid
char | padding1 [STARPU_CACHELINE_SIZE]
struct _starpu_worker | workers [STARPU_NMAXWORKERS]
struct _starpu_combined_worker | combined_workers [STARPU_NMAX_COMBINEDWORKERS]
starpu_pthread_mutex_t | submitted_mutex
char | padding2 [STARPU_CACHELINE_SIZE]
struct {
int * | workerids
unsigned | nworkers
} * | bindid_workers
unsigned | nbindid
uint32_t | worker_mask
struct starpu_conf | conf
unsigned | running
int | disable_kernels
int | pause_depth
struct _starpu_sched_ctx | sched_ctxs [STARPU_NMAX_SCHED_CTXS+1]
unsigned | submitting
int | watchdog_ok

## Field Documentation

## ◆ topology

struct _starpu_machine_topology _starpu_machine_config::topology

## ◆ cpu_depth

int _starpu_machine_config::cpu_depth

## ◆ pu_depth

int _starpu_machine_config::pu_depth

## ◆ current_bindid

int _starpu_machine_config::current_bindid

Where to bind next worker ?

## ◆ currently_bound

char _starpu_machine_config::currently_bound[STARPU_NMAXWORKERS]

## ◆ currently_shared

char _starpu_machine_config::currently_shared[STARPU_NMAXWORKERS]

## ◆ current_cuda_gpuid

int _starpu_machine_config::current_cuda_gpuid

Which GPU(s) do we use for CUDA ?

## ◆ current_opencl_gpuid

int _starpu_machine_config::current_opencl_gpuid

Which GPU(s) do we use for OpenCL ?

## ◆ current_mic_deviceid

int _starpu_machine_config::current_mic_deviceid

Which MIC do we use?

## ◆ current_mpi_deviceid

int _starpu_machine_config::current_mpi_deviceid

Which MPI do we use?

## ◆ cpus_nodeid

int _starpu_machine_config::cpus_nodeid

Memory node for cpus, if only one

## ◆ cuda_nodeid

int _starpu_machine_config::cuda_nodeid

Memory node for CUDA, if only one

## ◆ opencl_nodeid

int _starpu_machine_config::opencl_nodeid

Memory node for OpenCL, if only one

## ◆ mic_nodeid

int _starpu_machine_config::mic_nodeid

Memory node for MIC, if only one

## ◆ mpi_nodeid

int _starpu_machine_config::mpi_nodeid

Memory node for MPI, if only one

## ◆ padding1

char _starpu_machine_config::padding1[STARPU_CACHELINE_SIZE]

Separate out previous variables from per-worker data.

## ◆ workers

struct _starpu_worker _starpu_machine_config::workers[STARPU_NMAXWORKERS]

Basic workers : each of this worker is running its own driver and can be combined with other basic workers.

## ◆ combined_workers

struct _starpu_combined_worker _starpu_machine_config::combined_workers[STARPU_NMAX_COMBINEDWORKERS]

Combined workers: these worker are a combination of basic workers that can run parallel tasks together.

## ◆ submitted_mutex

starpu_pthread_mutex_t _starpu_machine_config::submitted_mutex

## ◆ padding2

char _starpu_machine_config::padding2[STARPU_CACHELINE_SIZE]

Separate out previous mutex from the rest of the data.

## ◆

struct { ... } * _starpu_machine_config::bindid_workers

Translation table from bindid to worker IDs

## ◆ nbindid

unsigned _starpu_machine_config::nbindid

size of bindid_workers

## ◆ worker_mask

uint32_t _starpu_machine_config::worker_mask

This bitmask indicates which kinds of worker are available. For instance it is possible to test if there is a CUDA worker with the result of (worker_mask & STARPU_CUDA).

## ◆ conf

struct starpu_conf _starpu_machine_config::conf

either the user given configuration passed to starpu_init or a default configuration

## ◆ running

unsigned _starpu_machine_config::running

this flag is set until the runtime is stopped

## ◆ disable_kernels

int _starpu_machine_config::disable_kernels

## ◆ pause_depth

int _starpu_machine_config::pause_depth

Number of calls to starpu_pause() - calls to starpu_resume(). When >0, StarPU should pause.

## ◆ sched_ctxs

struct _starpu_sched_ctx _starpu_machine_config::sched_ctxs[STARPU_NMAX_SCHED_CTXS+1]

all the sched ctx of the current instance of starpu

## ◆ submitting

unsigned _starpu_machine_config::submitting

this flag is set until the application is finished submitting tasks

## ◆ watchdog_ok

int _starpu_machine_config::watchdog_ok

The documentation for this struct was generated from the following file:

- workers.h