blob: cd2e7e67f3fc79e791ce827e1dda3d1dc1a0998c (
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
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
|
# ------------------------------------------------------------------------
# see the copyright information for MIDG in license.midg
# MIDG: a MIni Discontinuous Galerkin solver for CPUs or GPUS with MPI parallelism
# Copyright (c) 2008, Tim Warburton
# http://www.nudg.org
# ------------------------------------------------------------------------
# The following simulation codes all run in parallel
# using ParMetis for mesh partitioning and MPI for
# parallel computation.
# First compile the ParMetis library
cd 3rdParty/ParMetis-3.1/
make
# you may need to adjust the paths for the MPI compilers in the Makefiles
# ------------------------------------------------------------------------
# To compile the CPU/MPI only codes:
# CPU+MPI+2d time-domain Maxwells (TM mode) with N=6
make -f MakefileCPU2d N=6 clean
make -f MakefileCPU2d N=6
# CPU+MPI+3d timw-domain Maxwells with N=6
make -f MakefileCPU3d N=6 clean
make -f MakefileCPU3d N=6
# ------------------------------------------------------------------------
# To compile the GPU/MPI only codes:
# NOTE FOR GPU CODES:
# 1. you may wish to change the device assignment made
# near the start of the main function in MaxwellsDriver#d.m
# 2. you will need to have nvidia's cuda framework installed
# and may need to adjust the path that the Makefiles use
# to search for the nvcc compiler, libraries and include
# files
# GPU+MPI+2d time-domain Maxwells (TM mode) with N=6
make -f MakefileGPU2d N=6 clean
make -f MakefileGPU2d N=6
# GPU+MPI+3d timw-domain Maxwells with N=6
make -f MakefileGPU3d N=6 clean
make -f MakefileGPU3d N=6
# ------------------------------------------------------------------------
# To run the various configurations (in serial) with sample meshes:
./MaxwellsCPU2d Meshes/block2.neu
./MaxwellsCPU3d Meshes/cubeK268.neu
./MaxwellsGPU2d Meshes/block2.neu
./MaxwellsGPU3d Meshes/cubeK268.neu
# ------------------------------------------------------------------------
# To run the various configurations (in parallel using MPI) with sample meshes:
mpirun -np 2 ./MaxwellsCPU2d Meshes/block2.neu
mpirun -np 2 ./MaxwellsCPU3d Meshes/cubeK268.neu
mpirun -np 2 ./MaxwellsGPU2d Meshes/block2.neu
mpirun -np 2 ./MaxwellsGPU3d Meshes/cubeK268.neu
# When running with multiple GPUs you may wish to adjust the device
# used by each cpu.
# ------------------------------------------------------------------------
|