From b3a3c24b70f6d6844750aea027c1ba6f92bdf0aa Mon Sep 17 00:00:00 2001 From: David Wells Date: Sat, 27 Apr 2019 14:36:38 -0400 Subject: [PATCH] Improve the documentation of parallel builds. Not all users are familiar with the -j or --jobs flags for make and the current explanation is buried in the middle of several other notes. We can make this simpler by showing how to parallelize the build explicitly. --- doc/readme.html | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/readme.html b/doc/readme.html index 6c35741edd..8daf1299d9 100644 --- a/doc/readme.html +++ b/doc/readme.html @@ -161,15 +161,19 @@

deal.II uses the - CMake integrated configuration and build system. Unpacking will create a subdirectory deal.II/ in the current directory. Then do the following steps:

+ CMake integrated configuration and build system. Unpacking will create a subdirectory deal.II/ in the current directory. Then do the following steps to configure the build process:

   mkdir build
   cd build
   cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/dir ../deal.II
-  make install
+    
+ We recommend compiling deal.II in parallel if your machine has more than one processor core. This can be done by providing the --jobs flag to make with a numerical argument. Here we compile with four make jobs: +
+  make --jobs=4 install
   make test
     
+ One should usually use one job for each processor core on the machine.

These steps compile, link, install the deal.II library, and run a few consistency checks. The whole process should take between a few minutes and an hour, depending on your machine. @@ -182,9 +186,7 @@ Another option is to use something like `pwd`/../installed/ (note the backticks). Make sure the installation directory is not the same as the location where you unpacked deal.II/. -

  • If your machine has multiple processors, use make - -jN install in the second to last step instead, where N is the number of simultaneous build processes you want make to use at any given time. Allowing make to use more simultaneous build processes (assuming you have that many processor - cores) will greatly lower the build time. make test automatically runs in parallel and no -jN flag should be supplied to it. +
  • make test automatically runs in parallel and no -jN flag should be supplied to it.
  • If you do not intend to modify the deal.II sources and recompile things, then you can remove the build/ directory after the last step. -- 2.39.5