Preferences (Brian 1 –> 2 conversion)
In Brian 1, preferences were set either with the function set_global_preferences
or by creating a module
somewhere on the Python path called brian_global_config.py
.
Setting preferences
The function set_global_preferences
no longer exists in Brian 2. Instead, importing from brian2
gives you a
variable prefs
that can be used to set preferences. For example, in Brian 1 you would write:
set_global_preferences(weavecompiler='gcc')
In Brian 2 you would write:
prefs.codegen.cpp.compiler = 'gcc'
Configuration file
The module brian_global_config.py
is not used by Brian 2, instead we search for configuration files in the
current directory, user directory or installation directory. In Brian you would have a configuration file that looks
like this:
from brian.globalprefs import *
set_global_preferences(weavecompiler='gcc')
In Brian 2 you would have a file like this:
codegen.cpp.compiler = 'gcc'
Preference name changes
defaultclock
: removed because it led to unclear behaviour of scripts.useweave_linear_diffeq
: removed because it was no longer relevant.useweave
: now replaced by codegen.target (but note that weave is no longer supported in Brian 2, use Cython instead).weavecompiler
: now replaced by codegen.cpp.compiler.gcc_options
: now replaced by codegen.cpp.extra_compile_args_gcc.openmp
: now replaced by devices.cpp_standalone.openmp_threads.usecodegen*
: removed because it was no longer relevant.usenewpropagate
: removed because it was no longer relevant.usecstdp
: removed because it was no longer relevant.brianhears_usegpu
: removed because Brian Hears doesn’t exist in Brian 2.magic_useframes
: removed because it was no longer relevant.