summaryrefslogtreecommitdiff
path: root/code/trainer/check_stdp_freq-dep.h
blob: cf429b6de1ddb2261fde6ea91312d9ce4503f0a6 (plain)
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
#ifndef TRAINER_H
#define TRAINER_H

#include <stdio.h>
#include <pthread.h>
#include <map>
#include <queue>
#include "boost/tuple/tuple.hpp"


using namespace std;

class Trainer {
 public:
  FILE *fd_spike_out,
    *fd_global_out,
    *fd_trace_out,
    *fd_performance_out;

  // init stuff
  Trainer(int argc, char** argv);

  // main routine
  void run();

  // state vars
  long currentEpoch;

  // thread related
  pthread_t thread_write;

  // configuration
  double md; // multiplicative difference (>1)
  double mss; // multiplicative step size (>1)
  double fs, frd, fad; // number of frequency steps and relative step size
  double epochDuration;
  double voltage; // per outgoing (random) spike
  long neurons;
};

// seperate thread to read all spikes neccessary because reading and
// writing to these descriptors could block and thus cause a deadlock
void *read_spikes(Trainer *t);
void *write_spikes(Trainer *t);

#endif // TRAINER_H
contact: Jan Huwald // Impressum