GeNN  4.0.0
GPU enhanced Neuronal Networks (GeNN)
CodeGenerator::CUDA Namespace Reference

Namespaces

 Optimiser
 
 Utils
 

Classes

class  Backend
 
struct  Preferences
 Preferences for CUDA backend. More...
 

Typedefs

using KernelBlockSize = std::array< size_t, KernelMax >
 Array of block sizes for each kernel. More...
 

Enumerations

enum  DeviceSelect { DeviceSelect::OPTIMAL, DeviceSelect::MOST_MEMORY, DeviceSelect::MANUAL }
 Methods for selecting CUDA device. More...
 
enum  BlockSizeSelect { BlockSizeSelect::OCCUPANCY, BlockSizeSelect::MANUAL }
 Methods for selecting CUDA kernel block size. More...
 
enum  Kernel {
  KernelNeuronUpdate, KernelPresynapticUpdate, KernelPostsynapticUpdate, KernelSynapseDynamicsUpdate,
  KernelInitialize, KernelInitializeSparse, KernelPreNeuronReset, KernelPreSynapseReset,
  KernelMax
}
 Kernels generated by CUDA backend. More...
 

Typedef Documentation

◆ KernelBlockSize

using CodeGenerator::CUDA::KernelBlockSize = typedef std::array<size_t, KernelMax>

Array of block sizes for each kernel.

Enumeration Type Documentation

◆ BlockSizeSelect

Methods for selecting CUDA kernel block size.

Enumerator
OCCUPANCY 

Pick optimal blocksize for each kernel based on occupancy.

MANUAL 

Use block sizes specified by user.

◆ DeviceSelect

Methods for selecting CUDA device.

Enumerator
OPTIMAL 

Pick optimal device based on how well kernels can be simultaneously simulated and occupancy.

MOST_MEMORY 

Pick device with most global memory.

MANUAL 

Use device specified by user.

◆ Kernel

Kernels generated by CUDA backend.

Enumerator
KernelNeuronUpdate 
KernelPresynapticUpdate 
KernelPostsynapticUpdate 
KernelSynapseDynamicsUpdate 
KernelInitialize 
KernelInitializeSparse 
KernelPreNeuronReset 
KernelPreSynapseReset 
KernelMax