blob: 04213b1e6babaadec7dad160cc8528cf031a7146 (
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
|
WSM5 (WRF microphysics) test driver for host CPU and GPU, complete with test data sets.
To compile:
Edit makefile for your system.
(Variables XXX and YYY control number of threads per block. See settings
in makefile for settings for different GPUs)
make
(make clean also works)
Makes 2 execs: wsm5_driver_vanilla (host cpu) and wsm5_driver_chocolate (gpu)
To run:
CD to run and type runit
Contents:
This directory:
Source & Build:
makefile Builds CUDA and Original versions (also CUDA Emulated)
module_mp_wsm5.F Contains standalone driver and orig WSM5 source
wsm5.cu WSM5 CUDA code, Host side
wsm5_gpu.cu WSM5 CUDA code, GPU side
libmassv.F MASS compatibility lib
SAMPLE_SESSION Commands and their output for build and run for GTX 5600 GPU
using intel compilers on qp.ncsa.uiuc.edu
Includes:
wsm5_constants.h Constants (give good output agreement Intel/Gfortran)
s2d.h Copy file prec. to code prec. (might be same)
d2s.h Copy from code prec. to driver prec. (ditto)
debug.m4 M4 macros for debug out from the GPU code if enabled
spt.h Header (supports my directives)
Utilities:
compare_snaps.F Comp CUDA v HOST output and gen difference plot data
microclock.c Microsecond timer
spt.pl Perl script
Subdirectory: run
match.c Compare 2 floats and report # of places of agreement.
runit Script to run codes and compare
wsm5_in_001 Ten gracious sets of input and output
wsm5_in_002
wsm5_in_003
wsm5_in_004
wsm5_in_005
wsm5_in_006
wsm5_in_007
wsm5_in_008
wsm5_in_009
wsm5_in_010
wsm5_out_001
wsm5_out_002
wsm5_out_003
wsm5_out_004
wsm5_out_005
wsm5_out_006
wsm5_out_007
wsm5_out_008
wsm5_out_009
wsm5_out_010
|