GeNN  4.9.0
GPU enhanced Neuronal Networks (GeNN)
CodeGenerator::PreferencesBase Struct Reference

Base class for backend preferences - can be accessed via a global in 'classic' C++ code generator. More...

#include <backendBase.h>

Inheritance diagram for CodeGenerator::PreferencesBase:
CodeGenerator::CUDA::Preferences CodeGenerator::OpenCL::Preferences CodeGenerator::SingleThreadedCPU::Preferences

Public Member Functions

void updateHash (boost::uuids::detail::sha1 &hash) const
 

Public Attributes

bool optimizeCode = false
 Generate speed-optimized code, potentially at the expense of floating-point accuracy. More...
 
bool debugCode = false
 Generate code with debug symbols. More...
 
bool enableBitmaskOptimisations = false
 
bool automaticCopy = false
 If backend/device supports it, copy data automatically when required rather than requiring push and pull. More...
 
bool generateEmptyStatePushPull = true
 Should GeNN generate empty state push and pull functions. More...
 
bool generateExtraGlobalParamPull = true
 Should GeNN generate pull functions for extra global parameters? These are very rarely used. More...
 
bool includeModelNameInDLL = false
 
std::string userCxxFlagsGNU = ""
 C++ compiler options to be used for building all host side code (used for unix based platforms) More...
 
std::string userNvccFlagsGNU = ""
 NVCC compiler options they may want to use for all GPU code (used for unix based platforms) More...
 
plog::Severity logLevel = plog::info
 Logging level to use for code generation. More...
 

Detailed Description

Base class for backend preferences - can be accessed via a global in 'classic' C++ code generator.

Member Function Documentation

◆ updateHash()

void CodeGenerator::PreferencesBase::updateHash ( boost::uuids::detail::sha1 &  hash) const
inline

Update hash with preferences

Member Data Documentation

◆ automaticCopy

bool CodeGenerator::PreferencesBase::automaticCopy = false

If backend/device supports it, copy data automatically when required rather than requiring push and pull.

◆ debugCode

bool CodeGenerator::PreferencesBase::debugCode = false

Generate code with debug symbols.

◆ enableBitmaskOptimisations

bool CodeGenerator::PreferencesBase::enableBitmaskOptimisations = false

New optimizations made to kernels for simulating synapse groups with BITMASK connectivity Improve performance but break backward compatibility due to word-padding each row

◆ generateEmptyStatePushPull

bool CodeGenerator::PreferencesBase::generateEmptyStatePushPull = true

Should GeNN generate empty state push and pull functions.

◆ generateExtraGlobalParamPull

bool CodeGenerator::PreferencesBase::generateExtraGlobalParamPull = true

Should GeNN generate pull functions for extra global parameters? These are very rarely used.

◆ includeModelNameInDLL

bool CodeGenerator::PreferencesBase::includeModelNameInDLL = false

On Windows, should the model name be included in the name of the DLL i.e. runner_test_model_Release.dll rather than runner_Release.dll

◆ logLevel

plog::Severity CodeGenerator::PreferencesBase::logLevel = plog::info

Logging level to use for code generation.

◆ optimizeCode

bool CodeGenerator::PreferencesBase::optimizeCode = false

Generate speed-optimized code, potentially at the expense of floating-point accuracy.

◆ userCxxFlagsGNU

std::string CodeGenerator::PreferencesBase::userCxxFlagsGNU = ""

C++ compiler options to be used for building all host side code (used for unix based platforms)

◆ userNvccFlagsGNU

std::string CodeGenerator::PreferencesBase::userNvccFlagsGNU = ""

NVCC compiler options they may want to use for all GPU code (used for unix based platforms)


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