Most interface functions return an error code if the parameters
contradict each other, or if an error occurred during execution. If no
error occurred during execution of a kernel interface function, the
function returns the code: KRERR_NO_ERROR.
KRERR_NO_ERROR is equal to 0. The simulator kernel can generate
54 different error messages. The error code constants are defined in
glob_typ.h. There is also a function to translate an error
code into text:
char *krui_error( int error_code )
converts an error code to a string. The following error messages are
used:
KRERR_NO_ERROR: No Error
KRERR_INSUFFICIENT_MEM: Insufficient memory
KRERR_UNIT_NO: Invalid unit number
KRERR_OUTFUNC: Invalid unit output function
KRERR_ACTFUNC: Invalid unit activation function
KRERR_SITEFUNC: Invalid site function
KRERR_CREATE_SITE: Creation of sites is not permitted
because unit has direct input links
KRERR_ALREADY_CONNECTED: Creation of a link is not permitted
because there exists already a link
between these units
KRERR_CRITICAL_MALLOC: allocation failed in critical operation.
KRERR_FTYPE_NAME: Ftype name is not definite
KRERR_FTYPE_ENTRY: Current Ftype entry is not defined
KRERR_COPYMODE: Invalid copy mode
KRERR_NO_SITES: Current unit does not have sites
KRERR_FROZEN: Can't update unit because unit is frozen
KRERR_REDEF_SITE_NAME: Redefinition of site name not permitted
(site name already exists)
KRERR_UNDEF_SITE_NAME: Site name is not defined
KRERR_NOT_3D: Invalid Function: Not a 3D-Kernel
KRERR_DUPLICATED_SITE: Unit has already a site with this name
KRERR_INUSE_SITE: Can not delete site table entry because
site is in use
KRERR_FTYPE_SITE: Current Ftype site is not defined
KRERR_FTYPE_SYMBOL: Given symbol is not defined in the symbol
table
KRERR_IO: Physical I/O error
KRERR_SAVE_LINE_LEN: Creation of output file failed
(line length, limit exceeded)
KRERR_NET_DEPTH: The depth of the network does not fit the
learning function
KRERR_NO_UNITS: No Units defined
KRERR_EOF: Unexpected EOF
KRERR_LINE_LENGTH: Line length exceeded
KRERR_FILE_FORMAT: Incompatible file format
KRERR_FILE_OPEN: Can not open file
KRERR_FILE_SYNTAX: Syntax error at line
KRERR_MALLOC1: Memory allocation error 1
KRERR_TTYPE: Topologic type invalid
KRERR_SYMBOL: Symbol pattern invalid
(must match [A-Za-z]^[|, ]*)
KRERR_NO_SUCH_SITE: Current unit does not have a site with
this name
KRERR_NO_HIDDEN_UNITS: No hidden units defined
KRERR_CYCLES: cycle(s):
KRERR_DEAD_UNITS: dead unit(s):
KRERR_INPUT_PATTERNS: Pattern file contains not the same number
of input units as the network
KRERR_OUTPUT_PATTERNS: Pattern file contains not the same number
of output units as the network
KRERR_CHANGED_I_UNITS: Number of input units has changed
KRERR_CHANGED_O_UNITS: Number of output units has changed
KRERR_NO_INPUT_UNITS: No input units defined
KRERR_NO_OUTPUT_UNITS: No output units defined
KRERR_NO_PATTERNS: No patterns defined
KRERR_INCORE_PATTERNS: Incore patterns incompatible with current
network (remove loaded patterns before
loading network)
KRERR_PATTERN_NO: Invalid pattern number
KRERR_LEARNING_FUNC: Invalid learning function
KRERR_PARAMETERS: Invalid parameters
KRERR_UPDATE_FUNC: Invalid update function
KRERR_INIT_FUNC: Invalid initialization function
KRERR_DERIV_FUNC: Derivation function of the activation
function does not exist
KRERR_I_UNITS_CONNECT: input unit(s) with input connections to
other units
KRERR_O_UNITS_CONNECT: output unit(s) with output connections to
other units
KRERR_TOPOMODE: Invalid topological sorting mode
KRERR_LEARNING_SITES: Learning function doesn't support sites
KRERR_SITES_NO_SUPPORT: Sites are not supported
KRERR_NO_MASPAR_KERNEL: This isn't a MasPar Kernel
KRERR_NOT_NEIGHBOUR_LAYER: Connection(s) between unit(s) in
non-neighbour layers are not supported
KRERR_MUCH_LAYERS: The number of layers is too high
KRERR_NOT_FULLY_CONNECTED: The network layers aren't fully connected
KRERR_MODE_FF1_INVALID_OP: This operation is not allowed in parallel
kernel mode
KRERR_NET_TRANSFORM: Change of network type isn't possible in
parallel kernel mode
KRERR_NO_CURRENT_LINK: No current link defined
KRERR_NO_CURRENT_UNIT: No current unit defined
KRERR_UNIT_NO_INPUT: Current unit does't have any inputs
KRERR_TOPO_DEFINITION: Invalid parameter in topologic definition
section
KRERR_BAD_CONNECTION: Creation of link between these units is
not permitted
KRERR_MASPAR_NO_RESPOND: MasPar doesn't respond
KRERR_NOT_IMPLEMENTED_YET: This function isn't implemented yet
KRERR_NOT_PARRALLEL_MODE: Kernel isn't in parallel mode
KRERR_MASPAR_OUT_OF_PE_MEM: MasPar ran out of memory
KRERR_MASPAR_COMMUNICATE: MasPar communication error
KRERR_MASPAR_OUT_OF_PE: MasPar ran out of processors
KRERR_MISSING_DEFAULT_FUNC: Missing default function
(check function table)
KRERR_MASPAR_MULTI_OUT_FUNC: MasPar kernel does not support multiple
unit output functions
KRERR_MASPAR_MULTI_ACT_FUNC: MasPar kernel doesn't support multiple
unit activation functions
KRERR_NET_DEPTH: The depth of the network does not fit to
the learning function
KRERR_NO_OF_UNITS_IN_LAYER: Wrong no. of units in layer
KRERR_UNIT_MISSING: Unit missing or not correctly connected
KRERR_UNDETERMINED_UNIT: Unit does not belong to a defined layer
in the network
KRERR_ACT_FUNC: Unit has wrong activation function
KRERR_OUT_FUNC: Unit has wrong output function
KRERR_SITE_FUNC: Unexpected site function at unit
KRERR_UNEXPECTED_SITES: Unit is not expected to have sites
KRERR_UNEXPECTED_DIRECT_INPUTS: Unit is expected to have sites
KRERR_SITE_MISSING: Site missing at unit
KRERR_UNEXPECTED_LINK: Unexpected link
KRERR_LINK_MISSING: Missing link(s) to unit
KRERR_LINK_TO_WRONG_SITE: Link ends at wrong site of target unit
KRERR_TOPOLOGY: The network is not fitting the required
topology
KRERR_PARAM_BETA: Wrong beta parameter in unit bias value
KRERR_CC_ERROR1: Topo_ptr_array is sorted in the wrong way
KRERR_CC_ERROR2: There is no memory allocated
KRERR_CC_ERROR3: Not enough memory to run Casscade
KRERR_CC_ERROR4: Hidden unit with more than one recurent
link detected
KRERR_CC_ERROR5: Hidden unit without recurrent link found
KRERR_CC_ERROR6: Hidden layer does not fit the required
topology
KRERR_CC_ERROR7: The first link of a hidden unit is not a
recurent link
KRERR_CC_ERROR8: Special unit with more than one recurent
link detected
KRERR_CC_ERROR9: First link of a special unit is not a
recurent link
KRERR_CC_ERROR10: Wrong update function
KRERR_CC_ERROR11: Wrong init function
DLVQ_ERROR1: There are empty classes
DLVQ_ERROR2: There is a class lower than zero
DLVQ_ERROR3: Wrong number of output units.
DLVQ_ERROR4: This network is not fitting the required
topology
DLVQ_ERROR5: There isn't a unit for every class
KRERR_NP_NO_MORE_ENTRIES: No more free pattern sets available
KRERR_NP_NO_SUCH_PATTERN_SET: No such Pattern set defined
KRERR_NP_CURRENT_PATTERN: No current pattern defined
KRERR_NP_DIMENSION: Specified sub pattern does not fit into
pattern
KRERR_NP_NO_SUCH_PATTERN: No such pattern available
KRERR_NP_NO_CURRENT_PATTERN_SET: No current pattern set defined
KRERR_NP_DOES_NOT_FIT: Pattern (sub pattern) does not fit the
network
KRERR_NP_NO_TRAIN_SCHEME: No sub pattern shifting scheme defined
KRERR_NP_NO_OUTPUT_PATTERN: Pattern contains no output information
KRERR_NP_INCOMPATIBLE_NEW: New Pattern does not fit to existing set
KRERR_NP_PARAM_ZERO: Illegal parameter value <= 0 specified
KRERR_IP_ISNOTINITED: Paragon kernel is not initialized
KRERR_IP_ISINITED: Paragon kernel is already initialized
KRERR_IP_SENDMSGFAILED: Sending a message fails
KRERR_IP_MSGSYNTAX: Syntax error in received message
KRERR_IP_UNKNOWENCMD: Receive unknown command
KRERR_IP_LESSPAT: There are less patterns than allocated
nodes
KRERR_IP_WEIGHTUPDATE: Weight update with global sum fails
KRERR_IP_LEARNFNOTPAR: Learning function is not parallelized