emergent 8.2.2 NetworkCudaSpec Class Reference
emergent 8.2.2   Home · Wiki Docs For: NetworkCudaSpec · Emergent Help Browser 

NetworkCudaSpec Class Reference

parameters for NVIDA CUDA GPU implementation -- only applicable for CUDA_COMPILE binaries

See for more info: Wiki Docs For: NetworkCudaSpec

 #include "Network.h"

defined at: /mnt/ssd/grey/local/include/Emergent/Network.h :135-174

Inherits From: taOBase, taBase

Inherited By: NetworkCudaSpec*, NetworkCudaSpec&, const NetworkCudaSpec

Index: SubTypes, Members, Methods, Static Members, Static Methods, Expert Members, Expert Methods

Sub Types


SubType Documentation


Regular (preferred) Member and Method Documentation

Members

Member Category: _NoCategory

Methods

Method Category: UserData

Method Category: _NoCategory


Member Documentation

Member Category: _NoCategory

NetworkCudaSpec::cons_per_thread : int

when computing number of threads to use, divide max number of connections per unit by this number, and then round to nearest multiple of 32, subject to the min and max_threads constraints

NetworkCudaSpec::max_threads : int

maximum number of CUDA threads to allocate per block (sending group of connections) -- actual size will be determined at run-time as function of max number of connections per connection group / cons_per_thread -- for modern cards (compute capability 2.0 or higher) the max is 1024, but in general you might need to experiment to find the best performing number for your card and network, and interaction with cons_per_thread -- to specify an exact number of threads, just set min and max_threads to the same number

NetworkCudaSpec::min_threads : int

minuimum number of CUDA threads to allocate per block -- each block works on all the cons in a single ConState, and the threads divide up the connections in turn -- must be a multiple of 32 (i.e., min of 32) -- actual size will be determined at run-time as function of max number of connections per connection group / cons_per_thread -- to specify an exact number of threads, just set min and max_threads to the same number

NetworkCudaSpec::n_threads : int

computed number of threads it is actually using

NetworkCudaSpec::on : bool

is CUDA running? this is true by default when running in an executable compiled with CUDA_COMPILE defined, and false otherwise -- can be turned off to fall back on regular C++ code, but cannot be turned on if CUDA has not been compiled

NetworkCudaSpec::sync_cons : bool

for debugging or visualization purposes -- keep the C++ host state Connection variables synchronized with the GPU device state (which is VERY slow!) -- otherwise the GPU just runs, and updates a few key statistics (fastest)

NetworkCudaSpec::sync_units : bool

for debugging or visualization purposes -- keep the C++ host state Unit variables synchronized with the GPU device state (which is slow!) -- otherwise the GPU just runs, and updates a few key statistics (fastest)

NetworkCudaSpec::timers_on : bool

Accumulate timing information for each step of processing -- for debugging / optimizing threading


Method Documentation

Method Category: UserData

void taOBase::RemoveAllUserData ( )

get rid of our user data list entirely -- this is done automatically when saving something that has no user data items, but you can also force it with this method -- deletes the whole list

Show Source Code

Method Category: _NoCategory

taBase* taOBase::GetOwner ( )

Show Source Code

TypeDef* NetworkCudaSpec::GetTypeDef ( )

Show Source Code

taSigLink** taOBase::addr_sig_link ( )

Show Source Code

Static Member and Method Documentation

Static Members

Static Methods


Static Method Documentation


Expert Member and Method Documentation

Expert Members

Expert Member Category: taBase

Expert Methods

Expert Method Category: UserData


Expert Member Documentation

Expert Member Category: taBase

taOBase::owner : taBase*

pointer to owner

taOBase::user_data_ : UserDataItem_List*

storage for user data (created if needed) DO NOT ACCESS this list directly -- use the GetUserData / SetUserData etc interface!


Expert Method Documentation

Expert Method Category: UserData

UserDataItem_List* taOBase::GetUserDataList ( bool force = false )

gets the userdatalist for this class

Show Source Code


Copyright © 2017Regents of the University of Colorado, Carnegie Mellon University, Princeton University.
emergent 8.2.2