File: ext_typ.h

package info (click to toggle)
snns 4.1-2.1
  • links: PTS
  • area: non-free
  • in suites: hamm
  • size: 11,580 kB
  • ctags: 6,724
  • sloc: ansic: 96,597; perl: 8,551; makefile: 790; csh: 586; yacc: 507; lex: 307; sh: 23
file content (162 lines) | stat: -rw-r--r-- 4,862 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/*****************************************************************************
  FILE           : $Source: /usr/local/bv/SNNS/SNNSv4.1/kernel/sources/RCS/ext_typ.h,v $
  SHORTNAME      : 
  SNNS VERSION   : 4.1

  PURPOSE        : SNNS MasPar Kernel: Datatypes and Constants for Internal Usage
  NOTES          :

  AUTHOR         : Niels Mache 
  DATE           : 01.01.92

  CHANGED BY     : Sven Doering
  IDENTIFICATION : $State: Exp $ $Locker:  $
  RCS VERSION    : $Revision: 2.5 $
  LAST CHANGE    : $Date: 1995/11/16 12:02:18 $

             Copyright (c) 1990-1995  SNNS Group, IPVR, Univ. Stuttgart, FRG

******************************************************************************/
#ifndef  KR_EXTERNAL_TYPES
#define  KR_EXTERNAL_TYPES


typedef  void	(* FunctionPtr) (void *,...);
typedef  krui_err  (* NetFunctionPtr) (void *,...);


struct  UnitValues  {
  unsigned short  selector;
  int  lun, lln;
  FlintType  out, act, i_act, bias;
};

struct UnitDescriptor  {
  int  srcUnitLLN,
       destUnitLLN,
       srcUnitLUN,
       destUnitLUN;
};


struct NetFuncParameters  {
  int  start_pattern_no,
       end_pattern_no,
       cycles,
       
       no_of_input_parameters,
       no_of_output_parameters;

  float  input_parameters[NO_OF_LEARN_PARAMS],
         output_parameters[NO_OF_LEARN_PARAMS];

  FunctionPtr  function;              /*  pointer to the function  */
};





/*#################################################

GROUP: Type Definition of Function Table

#################################################*/

/*  Function table structure
*/
struct  FuncTable  {
  char    *func_name;                 /*  name of the function  */
  unsigned short  func_type,          /*  type of the function  */
           no_of_input_parameters,    /*  no. of input parameters used by this function  */
                                      /*  (only for Update, Init and Learning functions)  */
           no_of_output_parameters;   /*  no. of ouput parameters returned by this function  */
                                      /*  (only for Update and Learning functions)  */
  FunctionPtr  function;              /*  pointer to the function  */
#ifdef PARAGON_KERNEL
  bool     parallelized;	      /*  learning function parallelized for */ 
				      /*  the Intel Paragon service process  */
#endif
};



#define  FUNCTION_NAME_MAX_LEN   100

struct FuncInfoDescriptor  {
  int      number;
  char     func_name[FUNCTION_NAME_MAX_LEN];   /*  name of the function  */
  unsigned short    
           func_type,                 /*  type of the function  */
           no_of_input_parameters,    /*  no. of input parameters used by this function  */
                                      /*  (only for Update, Init and Learning functions)  */
           no_of_output_parameters;   /*  no. of ouput parameters returned by this function  */
                                      /*  (only for Update and Learning functions)  */
  FunctionPtr  function;              /*  pointer to the function  */
#ifdef PARAGON_KERNEL
  bool     parallelized;              /*  learning function parallelized for */
				      /*  the Intel Paragon  */
#endif
};


/*#################################################

GROUP: Feedforward network descriptor

#################################################*/

#ifdef MASPAR_KERNEL

/* max. number of layers of a feedforward network in superscalar kernel mode  */
#define  FF_MAX_LAYERS  8

struct  FFnetDescriptor  {
  int  no_of_layers;   /*  no. of layers of the network */
  int  no_of_weights;	/*  no. of weights in network  */

  struct
    {  /*  describes the layers of the network
           (layers[i] describes the units in layer i, layer 0 is the input layer)  */
    int  no_of_units;          /*  no. of units in this layer  */

    struct
      {  /*  inputs[k] describes the input connections of the units in
             the layer i to units in layer k  */
      int  no_of_inputs;         /*  stores the total no. of connections
                                     from units in layer k with units in layer i.
                                 */
      FlintType  *weight_array;  /*  pointer to the weight array containing the
                                     connection weights of connections from
                                     layer i to layer k.
                                 */

      /*  if the network has partial connected units:  */
      /*  first input connection of unit i to unit <first_connection>
          in layer k
      */
      /*  gap count of the input connections of units in layer i with
          units in layer k
      */
    }  inputs[FF_MAX_LAYERS - 1];

  }  layers[FF_MAX_LAYERS];
};


struct  MasParInfo  {
  int  no_of_PEs,
       memory_perPE,
       no_of_network_copies,
       no_of_used_PEs;

  float  efficiency;
};

#endif

#endif