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

Preferences for OpenCL backend. More...

#include <backend.h>

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

Public Member Functions

 Preferences ()
 
- Public Member Functions inherited from CodeGenerator::PreferencesBase
void updateHash (boost::uuids::detail::sha1 &hash) const
 

Public Attributes

PlatformSelect platformSelectMethod = PlatformSelect::MANUAL
 How to select OpenCL platform. More...
 
unsigned int manualPlatformID = 0
 If platform select method is set to PlatformSelect::MANUAL, id of platform to use. More...
 
DeviceSelect deviceSelectMethod = DeviceSelect::MOST_MEMORY
 How to select OpenCL device. More...
 
unsigned int manualDeviceID = 0
 If device select method is set to DeviceSelect::MANUAL, id of device to use. More...
 
WorkGroupSizeSelect workGroupSizeSelectMethod = WorkGroupSizeSelect::MANUAL
 How to select OpenCL workgroup size. More...
 
KernelBlockSize manualWorkGroupSizes
 If block size select method is set to BlockSizeSelect::MANUAL, block size to use for each kernel. More...
 
- Public Attributes inherited from CodeGenerator::PreferencesBase
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

Preferences for OpenCL backend.

Constructor & Destructor Documentation

◆ Preferences()

CodeGenerator::OpenCL::Preferences::Preferences ( )
inline

Member Data Documentation

◆ deviceSelectMethod

DeviceSelect CodeGenerator::OpenCL::Preferences::deviceSelectMethod = DeviceSelect::MOST_MEMORY

How to select OpenCL device.

◆ manualDeviceID

unsigned int CodeGenerator::OpenCL::Preferences::manualDeviceID = 0

If device select method is set to DeviceSelect::MANUAL, id of device to use.

◆ manualPlatformID

unsigned int CodeGenerator::OpenCL::Preferences::manualPlatformID = 0

If platform select method is set to PlatformSelect::MANUAL, id of platform to use.

◆ manualWorkGroupSizes

KernelBlockSize CodeGenerator::OpenCL::Preferences::manualWorkGroupSizes

If block size select method is set to BlockSizeSelect::MANUAL, block size to use for each kernel.

◆ platformSelectMethod

PlatformSelect CodeGenerator::OpenCL::Preferences::platformSelectMethod = PlatformSelect::MANUAL

How to select OpenCL platform.

◆ workGroupSizeSelectMethod

WorkGroupSizeSelect CodeGenerator::OpenCL::Preferences::workGroupSizeSelectMethod = WorkGroupSizeSelect::MANUAL

How to select OpenCL workgroup size.


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