2 example procedure 2, 3 example procedure 3, 2 example procedure 2 11.3.3 example procedure 3 – HP XC System 3.x Software User Manual
Page 108: Example procedure 2, Example procedure 3
$ make PREFIX=’srun –n1 –N1 MAKE_J='-j4'
11.3.2 Example Procedure 2
Go through the directories in parallel and have the make procedure within each directory be serial.
For the purpose of this exercise we are only parallelizing the “make all” component. The “clean” and
“veryclean” components can be parallelized in a similar fashion.
Modified Makefile:
all:
$(MAKE) $(MAKE_J) struct_matrix_vector/libHYPRE_mv.a
struct_linear_solvers/libHYPRE_ls.a utilities/libHYPRE_utilities.a
$(PREFIX) $(MAKE) -C test
struct_matrix_vector/libHYPRE_mv.a:
$(PREFIX) $(MAKE) -C struct_matrix_vector
struct_linear_solvers/libHYPRE_ls.a:
$(PREFIX) $(MAKE) -C struct_linear_solvers
utilities/libHYPRE_utilities.a:
$(PREFIX) $(MAKE) -C utilities
The modified Makefile is invoked as follows:
$ make PREFIX='srun -n1 -N1' MAKE_J='-j4'
11.3.3 Example Procedure 3
Go through the directories in parallel and have the make procedure within each directory be parallel. For
the purpose of this exercise, we are only parallelizing the “make all” component. The “clean” and
“veryclean” components can be parallelized in a similar fashion.
Modified Makefile:
all:
$(MAKE) $(MAKE_J) struct_matrix_vector/libHYPRE_mv.a
struct_linear_solvers/libHYPRE_ls.a utilities/libHYPRE_utilities.a
$(PREFIX) $(MAKE) $(MAKE_J) -C test
struct_matrix_vector/libHYPRE_mv.a:
$(PREFIX) $(MAKE) $(MAKE_J) -C struct_matrix_vector
struct_linear_solvers/libHYPRE_ls.a:
$(PREFIX) $(MAKE) $(MAKE_J) -C struct_linear_solvers
utilities/libHYPRE_utilities.a:
$(PREFIX) $(MAKE) $(MAKE_J) -C utilities
108
Advanced Topics