You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/Development/ReleaseNotes.md
+4
Original file line number
Diff line number
Diff line change
@@ -95,6 +95,10 @@ To check which release of VIC you are running:
95
95
96
96
Codified behavior in the initialization of the ``image`` and `cesm` drivers that requires the parameter variables `AreaFract`, `Pfactor`, `zone_fract`, and `Cv` must sum exactly to 1.0. If using the `SNOW_BAND` option, the area weighted `elevation` must match the mean grid cell elevation (`elev`). VIC will print *warnings* if any of these criteria are violated.
97
97
98
+
7. Added thread parallelization using OPENMP ([GH#712](https://github.com/UW-Hydro/VIC/pull/712))
99
+
100
+
The VIC image and CESM drivers now may be optionally compiled with OPENMP to enable shared memory thread parallelization. This option should improve the parallel scaling of these drivers by reducing the number of MPI messages and increasing message size.
Compiling the Image Driver may also be done with [OpenMP](http://www.openmp.org/). Nearly all modern C compilers include the [OpenMP standard](http://www.openmp.org/resources/openmp-compilers/) and users will need to ensure that the makefile has the appropriate compiler flag (usually `-fopenmp`). See the discussion below for how to control OpenMP parallelization.
24
+
22
25
## Compiling
23
26
In most cases, you will need to edit the `NETCDF_PATH` and `MPI_PATH` variables in the `Makefile`.
24
27
@@ -48,11 +51,23 @@ At the command prompt, type:
48
51
49
52
where `global_parameter_filename` = name of the global parameter file corresponding to your project.
50
53
51
-
To run VIC image driver using multiple processors, type the following instead:
54
+
The VIC image driver can be run using parallel processing with MPI and/or OpenMP.
55
+
56
+
!!! Note
57
+
Users are encouraged to consult their system administrator for assistance in configuring the VIC image driver for parallel processing applications.
58
+
59
+
To run VIC image driver using multiple processors using MPI, type the following instead:
where `n_proc` = number of processors to be used. *Note that different MPI implementations may use different names for the MPI executable such as: `mpirun`, `mpiexec_mpt`, or `mpiexec.hydra`*.
64
+
65
+
To run the VIC image driver using multiple processors with OpenMP (threads), set the environment variable `OMP_NUM_THREADS`:
66
+
67
+
export OMP_NUM_THREADS=8
68
+
./vic_image.exe -g global_parameter_filename.txt
69
+
70
+
These two parallelization methods may also be combined using a Hybrid OpenMP/MPI approach. However, that configuration is usually machine, compiler, or scheduler dependent.
0 commit comments