Skip to content

Commit b5947c0

Browse files
committed
update README
1 parent c4d84ee commit b5947c0

File tree

2 files changed

+59
-2
lines changed

2 files changed

+59
-2
lines changed

ParallelBatchEval/C/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ OBJS=$(addprefix $(BUILD), $(addsuffix .o, $(OBJ)))
1111

1212
bench: $(OBJS)
1313
@echo $(OBJS)
14-
$(CXX) $(OBJS) -o $(BIN)$@ $(OPT) -ldl
14+
$(CXX) $(OBJS) -o $@ $(OPT) -ldl
1515

1616
$(BUILD)%.o: $(SRC)%.cpp
1717
@mkdir -p $(BUILD)

README.md

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ This repository contains the source code for the comparative study presented in
44

55
Jan Gmys, Tiago Carneiro, Nouredine Melab, El-Ghazali Talbi, Daniel Tuyttens, *A comparative study of high-productivity high-performance programming languages for parallel metaheuristics*, Swarm and Evolutionary Computation
66

7-
## Content
7+
=================
8+
-----------------
9+
# Content
810

911
Parallel implementations in **C++/OpenMP**, **Julia**, **Python-Numba** and **Chapel**:
1012

@@ -19,3 +21,58 @@ Parallel implementations in **C++/OpenMP**, **Julia**, **Python-Numba** and **Ch
1921
* Quadratic Assignment Problem (QAP)
2022
* Traveling Salesman Problem (TSP)
2123
* Q3AP
24+
25+
=================
26+
-----------------
27+
# How to run
28+
29+
## ILS
30+
### Python
31+
* no numba, instance nug12-d, 10 ILS iterations
32+
* `python3 ./ilsQ3AP_numpy.py nug12 10`
33+
* no numba + multiprocessing
34+
* `python3 ./ilsQ3AP_numpy_par.py nug12 10`
35+
* with numba
36+
* sequential: `python3 ./ilsQ3AP_numba_seq.py nug12 100`
37+
* parallel: `python3 ./ilsQ3AP_numba_seq.py nug12 100`
38+
39+
To set the number of threads in the parallel numba version
40+
* ex.: `export NUMBA_NUM_THREADS=4`
41+
* OpenMP environment variables should be unset as they may interfere
42+
43+
### Julia
44+
* sequential (nug12-d, 100 iterations)
45+
* `julia ./ils_q3ap_seq.jl nug12 100`
46+
47+
* parallel (8 threads)
48+
* `export JULIA_NUM_THREADS=8`
49+
* `julia ./ils_q3ap_par.jl nug12 100`
50+
51+
### C
52+
* compile:
53+
* `make`
54+
* run with 8 threads (nug12-d, 100 iterations)
55+
* `OMP_NUM_THREADS=8 ./ils nug12 100`
56+
57+
-----------------
58+
## ParallelBatchEval
59+
60+
### Python
61+
3 arguments required: problem | instance| batchsize
62+
63+
Examples:
64+
* `python3 ./bench.py TSP berlin52 1000`
65+
* `python3 ./bench.py FSP ta020 10000`
66+
* `python3 ./bench.py QAP nug15 100`
67+
* `python3 ./bench.py Q3AP nug12 1000`
68+
69+
### Julia
70+
3 arguments required: problem | instance| batchsize
71+
72+
Examples:
73+
* `julia ./bench.jl TSP berlin52 1000`
74+
75+
### C
76+
* `make`
77+
* `./bench -z p=fsp,i=ta120 -b 1000`
78+
* `./bench --help` gives some help

0 commit comments

Comments
 (0)