Create runtime_files directory for some benchmarks
[nofib.git] / real / scs / Makefile
1 TOP = ../..
2 include $(TOP)/mk/boilerplate.mk
3 PROG_ARGS = runtime_files/inverter 345 10n 4u 1
4 include $(TOP)/mk/target.mk
5
6
7 # From: Erik van der Meer [mailto:vandermeer@greenvalley.nl]
8 # Sent: 17 March 2000 08:36
9 # To: Simon Peyton-Jones
10 # Subject: SCS for nofib
11 #
12 #
13 # Dear Mr. Jones,
14 #
15 # In our telephone conversation, I promised you the program I wrote for my
16 # masters thesis. It is called SCS, for SET Circuit Simulator. It largely
17 # relies on arrays, and arithmetic, both Rational (preprocessing) and Double
18 # (the actual work). It also uses many higher order functions. It is a
19 # prototype which hasn't been optimized, because the main focus of my work was
20 # finding out how these 'circuits' actually work. If I would have had time to
21 # optimize, I would have tried to use band matrices, and I would have used a
22 # library like linpack to do the actual work.
23 #
24 # Anyway, SCS consists of:
25 #
26 # Main.hs
27 # Simulate.hs
28 # LinearAlgebra.hs
29 # RandomFix.hs
30 # Parse.hs
31 # ParseLib.hs
32 # Types.hs
33 #
34 # (RandomFix.hs is a slightly modified version of the random library in
35 # Hugs, because the Hugs & GHC random libraries clashed.)
36 #
37 # SCS comes with two utility programs:
38 #
39 # VerifyDT.hs
40 # GnuPlotInterface.hs
41 #
42 # which both rely on Types.hs.
43 #
44 # On UNIX, I would compile the programs, naming them scs, vdt and gpi, move
45 # them into the circuit directory, and then I would run SCRIPT.
46 #
47 # I should mention that most circuits here are very small, and so I
48 # recommend simulating the inverter, which is the most realistic circuit,
49 # at a temperature of 1 kelvin:
50 #
51 # scs inverter 345 1n 4u 1
52 #
53 # On my computer (a pentium 100, running Linux) I think it took about half an
54 # hour. To shorten it, you could increase the time step:
55 #
56 # scs inverter 345 10n 4u 1
57 #
58 # (where applicable, numbers can be appended with any of afpnum kMGTPE:
59 # atto, femto, pico, nano, micro, milli, kilo, mega, giga, tera, peta, exa.)
60 #
61 # Alternatively, you could decrease the end time, which in the example is
62 # 4 microseconds. 345 is the seed for the random generator, and 1 is the
63 # temperature in kelvin, in case you wondered.
64 #
65 # Yours sincerely,
66 #
67 # Erik van der Meer.
68
69 # --------------------------------------------------------------------
70