GeNN  4.0.0
GPU enhanced Neuronal Networks (GeNN)
genn_cuda_backend/backend.h File Reference
#include <algorithm>
#include <array>
#include <functional>
#include <map>
#include <string>
#include <cuda.h>
#include <cuda_runtime.h>
#include "backendExport.h"
#include "code_generator/backendBase.h"
#include "code_generator/codeStream.h"
#include "code_generator/substitutions.h"

Go to the source code of this file.

Classes

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

Namespaces

 filesystem
 
 CodeGenerator
 Helper class for generating code - automatically inserts brackets, indents etc.
 
 CodeGenerator::CUDA
 

Typedefs

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

Enumerations

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