StarPU Internal Handbook

Data Fields
_starpu_machine_topology Struct Reference

## Data Fields
unsigned | nworkers
unsigned | ncombinedworkers
unsigned | nsched_ctxs
hwloc_topology_t | hwtopology
struct starpu_tree * | tree
unsigned | nhwcpus
unsigned | nhwpus
unsigned | nhwcudagpus
unsigned | nhwopenclgpus
unsigned | nhwmpi
unsigned | ncpus
unsigned | ncudagpus
unsigned | nworkerpercuda
int | cuda_th_per_stream
int | cuda_th_per_dev
unsigned | nopenclgpus
unsigned | nmpidevices
unsigned | nhwmpidevices
unsigned | nhwmpicores [STARPU_MAXMPIDEVS]
unsigned | nmpicores [STARPU_MAXMPIDEVS]
unsigned | nhwmicdevices
unsigned | nmicdevices
unsigned | nhwmiccores [STARPU_MAXMICDEVS]
unsigned | nmiccores [STARPU_MAXMICDEVS]
unsigned | workers_bindid [STARPU_NMAXWORKERS]
unsigned | workers_cuda_gpuid [STARPU_NMAXWORKERS]
unsigned | workers_opencl_gpuid [STARPU_NMAXWORKERS]
unsigned | workers_mpi_ms_deviceid [STARPU_NMAXWORKERS]

## Field Documentation

## ◆ nworkers

unsigned _starpu_machine_topology::nworkers

Total number of workers.

## ◆ ncombinedworkers

unsigned _starpu_machine_topology::ncombinedworkers

Total number of combined workers.

## ◆ nsched_ctxs

unsigned _starpu_machine_topology::nsched_ctxs

## ◆ hwtopology

hwloc_topology_t _starpu_machine_topology::hwtopology

Topology as detected by hwloc.

## ◆ tree

struct starpu_tree* _starpu_machine_topology::tree

custom hwloc tree

## ◆ nhwcpus

unsigned _starpu_machine_topology::nhwcpus

Total number of CPU cores, as detected by the topology code. May be different from the actual number of CPU workers.

## ◆ nhwpus

unsigned _starpu_machine_topology::nhwpus

Total number of PUs (i.e. threads), as detected by the topology code. May be different from the actual number of PU workers.

## ◆ nhwcudagpus

unsigned _starpu_machine_topology::nhwcudagpus

Total number of CUDA devices, as detected. May be different from the actual number of CUDA workers.

## ◆ nhwopenclgpus

unsigned _starpu_machine_topology::nhwopenclgpus

Total number of OpenCL devices, as detected. May be different from the actual number of OpenCL workers.

## ◆ nhwmpi

unsigned _starpu_machine_topology::nhwmpi

Total number of MPI nodes, as detected. May be different from the actual number of node workers.

## ◆ ncpus

unsigned _starpu_machine_topology::ncpus

Actual number of CPU workers used by StarPU.

## ◆ ncudagpus

unsigned _starpu_machine_topology::ncudagpus

Actual number of CUDA GPUs used by StarPU.

## ◆ nworkerpercuda

unsigned _starpu_machine_topology::nworkerpercuda

## ◆ cuda_th_per_stream

int _starpu_machine_topology::cuda_th_per_stream

## ◆ cuda_th_per_dev

int _starpu_machine_topology::cuda_th_per_dev

## ◆ nopenclgpus

unsigned _starpu_machine_topology::nopenclgpus

Actual number of OpenCL workers used by StarPU.

## ◆ nmpidevices

unsigned _starpu_machine_topology::nmpidevices

Actual number of MPI workers used by StarPU.

## ◆ nhwmpidevices

unsigned _starpu_machine_topology::nhwmpidevices

## ◆ nhwmpicores

unsigned _starpu_machine_topology::nhwmpicores[STARPU_MAXMPIDEVS]

Each MPI node has its set of cores.

## ◆ nmpicores

unsigned _starpu_machine_topology::nmpicores[STARPU_MAXMPIDEVS]

## ◆ nhwmicdevices

unsigned _starpu_machine_topology::nhwmicdevices

Topology of MP nodes (MIC) as well as necessary objects to communicate with them.

## ◆ nmicdevices

unsigned _starpu_machine_topology::nmicdevices

## ◆ nhwmiccores

unsigned _starpu_machine_topology::nhwmiccores[STARPU_MAXMICDEVS]

Each MIC node has its set of cores.

## ◆ nmiccores

unsigned _starpu_machine_topology::nmiccores[STARPU_MAXMICDEVS]

## ◆ workers_bindid

unsigned _starpu_machine_topology::workers_bindid[STARPU_NMAXWORKERS]

Indicates the successive logical PU identifier that should be used to bind the workers. It is either filled according to the user's explicit parameters (from starpu_conf) or according to the STARPU_WORKERS_CPUID env. variable. Otherwise, a round-robin policy is used to distributed the workers over the cores.

## ◆ workers_cuda_gpuid

unsigned _starpu_machine_topology::workers_cuda_gpuid[STARPU_NMAXWORKERS]

Indicates the successive CUDA identifier that should be used by the CUDA driver. It is either filled according to the user's explicit parameters (from starpu_conf) or according to the STARPU_WORKERS_CUDAID env. variable. Otherwise, they are taken in ID order.

## ◆ workers_opencl_gpuid

unsigned _starpu_machine_topology::workers_opencl_gpuid[STARPU_NMAXWORKERS]

Indicates the successive OpenCL identifier that should be used by the OpenCL driver. It is either filled according to the user's explicit parameters (from starpu_conf) or according to the STARPU_WORKERS_OPENCLID env. variable. Otherwise, they are taken in ID order.

## ◆ workers_mpi_ms_deviceid

unsigned _starpu_machine_topology::workers_mpi_ms_deviceid[STARPU_NMAXWORKERS]

TODO unsigned workers_mic_deviceid[STARPU_NMAXWORKERS];

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

- workers.h