meld
meld copied to clipboard
Meld virtual machine.
=================================================== Source code organization
Compiler is written in CL and is placed in cl-meld Virtual machine is written in C++ and is placed in meld In order to compile programs we first use the CL compiler and then the C++ compiler.
=================================================== How to compile CLM programs
Go to meld/benchs
Run script ./compile.sh progs/
=================================================== How to run CLM programs
After step 4, programs will be placed in ~/meld/benchs/code/
=================================================== Running SSSP programs
Compile shortest-DATASET.meld, where DATASET is the graph data set. Example: shortest-uspowergrid.meld Execute as ./benchs/code/shortest-uspowergrid -c thX -t -- N where N is a positive number and represents how many source nodes are going to be used (a node is used if NodeId % N == 0). Use N=1 for uspowergrid. By default, SSSP runs with coordination. Add flag -n to run it without coordination.
In order to compile programs with datasets such as LiveJournal and Orkut, please do the following: $ cd meld/benchs/ $ make progs/data/orkut.txt $ make progs/data/weighted-livejournal.txt
Afterwards, compile programs are usual. Use the following arguments:
- orkut: 3000000
- livejournal: 3000001
(All arguments can be inspected by reading meld/benchs/args/shortest-livejournal, for example).
Note that it will take a while to pre-process these programs. The CLM compiler has not been optimized enough to process huge graphs. Remember to run the virtual machine with enough memory.
=================================================== Running N Queens programs
Program available as 8queens-N-CONF.meld, where N is the size of the board and CONF is the configuration. Example: 8queens-13.meld to run the 13 queens program without any coordination. The coordinated programs are available with CONF=bottom-static, for example.
=================================================== Running MiniMax programs
Use program min-max-tictactoe-big.meld and min-max-tictactoe-big-coord.meld (to use the regular and the coordinated program, respectively).
=================================================== Running HT programs
Programs available as: - new-heat-transfer-120-coord0.meld (Works as the regular and coordinated version, use -n to run without coordination). - new-heat-transfer-120-coord.meld (Works as the Local version). For both of these programs use the following arguments: 0.0001 0.005
=================================================== Running LBP/SBP
Programs available as: - belief-propagation-400.meld (LBP) - splash-bp-400 (SBP): use 100 as program argument They are also available in other sizes.