Skip to content

Commit dd0e083

Browse files
committed
Add platform files for Google Cloud HPC
These platform files provide the current recommended settings when running Open MPI on Google Cloud. Signed-off-by: Nathan Hjelm <hjelmn@google.com>
1 parent 4d32d2d commit dd0e083

File tree

4 files changed

+200
-0
lines changed

4 files changed

+200
-0
lines changed

contrib/platform/google/debug

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# (c) 2023 Google, LLC. All rights reserved.
2+
3+
enable_mem_debug=no
4+
enable_mem_profile=no
5+
enable_debug_symbols=yes
6+
enable_picky=no
7+
enable_debug=yes
8+
with_valgrind=no
9+
enable_memchecker=no
10+
11+
# For now ensure that ob1 is used. It gives better performance than UCX at this
12+
# time.
13+
enable_pml_direct=ob1

contrib/platform/google/debug.conf

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#
2+
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3+
# University Research and Technology
4+
# Corporation. All rights reserved.
5+
# Copyright (c) 2004-2005 The University of Tennessee and The University
6+
# of Tennessee Research Foundation. All rights
7+
# reserved.
8+
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9+
# University of Stuttgart. All rights reserved.
10+
# Copyright (c) 2004-2005 The Regents of the University of California.
11+
# All rights reserved.
12+
# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
13+
# Copyright (c) 2011-2018 Los Alamos National Security, LLC. All rights
14+
# reserved.
15+
# Copyright (c) 2023 Google, LLC. All rights reserved.
16+
# $COPYRIGHT$
17+
#
18+
# Additional copyrights may follow
19+
#
20+
# $HEADER$
21+
#
22+
23+
# This is the default system-wide MCA parameters defaults file.
24+
# Specifically, the MCA parameter "mca_param_files" defaults to a
25+
# value of
26+
# "$HOME/.openmpi/mca-params.conf:$sysconf/openmpi-mca-params.conf"
27+
# (this file is the latter of the two). So if the default value of
28+
# mca_param_files is not changed, this file is used to set system-wide
29+
# MCA parameters. This file can therefore be used to set system-wide
30+
# default MCA parameters for all users. Of course, users can override
31+
# these values if they want, but this file is an excellent location
32+
# for setting system-specific MCA parameters for those users who don't
33+
# know / care enough to investigate the proper values for them.
34+
35+
# Note that this file is only applicable where it is visible (in a
36+
# filesystem sense). Specifically, MPI processes each read this file
37+
# during their startup to determine what default values for MCA
38+
# parameters should be used. mpirun does not bundle up the values in
39+
# this file from the node where it was run and send them to all nodes;
40+
# the default value decisions are effectively distributed. Hence,
41+
# these values are only applicable on nodes that "see" this file. If
42+
# $sysconf is a directory on a local disk, it is likely that changes
43+
# to this file will need to be propagated to other nodes. If $sysconf
44+
# is a directory that is shared via a networked filesystem, changes to
45+
# this file will be visible to all nodes that share this $sysconf.
46+
47+
# The format is straightforward: one per line, mca_param_name =
48+
# rvalue. Quoting is ignored (so if you use quotes or escape
49+
# characters, they'll be included as part of the value). For example:
50+
51+
# Disable run-time MPI parameter checking
52+
# mpi_param_check = 0
53+
54+
# Note that the value "~/" will be expanded to the current user's home
55+
# directory. For example:
56+
57+
# Change component loading path
58+
# component_path = /usr/local/lib/openmpi:~/my_openmpi_components
59+
60+
# See "ompi_info --param all all" for a full listing of Open MPI MCA
61+
# parameters available and their default values.
62+
#
63+
64+
# Basic behavior to smooth startup
65+
mca_base_component_show_load_errors = 0
66+
67+
btl = self,sm,tcp
68+
69+
# Enabling the progress thread should give better performance in
70+
# most cases.
71+
btl_tcp_progress_thread = 1
72+
73+
# Enable hierarchal collectives.
74+
coll_han_priority = 100
75+
76+
# Enable coll/sm. This is commented out for now since coll/sm needs
77+
# some work before it is ready to be used in most cases.
78+
# coll_sm_priority = 100
79+
80+
# If the system has busy polling enable (net.core.busy_read > 0)
81+
# the performance suffers greatly when using poll. Use epoll
82+
# instead. This should not hurt performance in other cases.
83+
opal_even_include = epoll
84+
85+
## Setup MPI options
86+
mpi_show_handle_leaks = 0
87+
mpi_abort_print_stack = 0

contrib/platform/google/optimized

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# (c) 2023 Google, LLC. All rights reserved.
2+
3+
enable_mem_debug=no
4+
enable_mem_profile=no
5+
enable_debug_symbols=no
6+
enable_picky=no
7+
enable_debug=no
8+
with_valgrind=no
9+
enable_memchecker=no
10+
11+
# For now ensure that ob1 is used. It gives better performance than UCX at this
12+
# time.
13+
enable_pml_direct=ob1
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#
2+
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3+
# University Research and Technology
4+
# Corporation. All rights reserved.
5+
# Copyright (c) 2004-2005 The University of Tennessee and The University
6+
# of Tennessee Research Foundation. All rights
7+
# reserved.
8+
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9+
# University of Stuttgart. All rights reserved.
10+
# Copyright (c) 2004-2005 The Regents of the University of California.
11+
# All rights reserved.
12+
# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
13+
# Copyright (c) 2011-2018 Los Alamos National Security, LLC. All rights
14+
# reserved.
15+
# Copyright (c) 2023 Google, LLC. All rights reserved.
16+
# $COPYRIGHT$
17+
#
18+
# Additional copyrights may follow
19+
#
20+
# $HEADER$
21+
#
22+
23+
# This is the default system-wide MCA parameters defaults file.
24+
# Specifically, the MCA parameter "mca_param_files" defaults to a
25+
# value of
26+
# "$HOME/.openmpi/mca-params.conf:$sysconf/openmpi-mca-params.conf"
27+
# (this file is the latter of the two). So if the default value of
28+
# mca_param_files is not changed, this file is used to set system-wide
29+
# MCA parameters. This file can therefore be used to set system-wide
30+
# default MCA parameters for all users. Of course, users can override
31+
# these values if they want, but this file is an excellent location
32+
# for setting system-specific MCA parameters for those users who don't
33+
# know / care enough to investigate the proper values for them.
34+
35+
# Note that this file is only applicable where it is visible (in a
36+
# filesystem sense). Specifically, MPI processes each read this file
37+
# during their startup to determine what default values for MCA
38+
# parameters should be used. mpirun does not bundle up the values in
39+
# this file from the node where it was run and send them to all nodes;
40+
# the default value decisions are effectively distributed. Hence,
41+
# these values are only applicable on nodes that "see" this file. If
42+
# $sysconf is a directory on a local disk, it is likely that changes
43+
# to this file will need to be propagated to other nodes. If $sysconf
44+
# is a directory that is shared via a networked filesystem, changes to
45+
# this file will be visible to all nodes that share this $sysconf.
46+
47+
# The format is straightforward: one per line, mca_param_name =
48+
# rvalue. Quoting is ignored (so if you use quotes or escape
49+
# characters, they'll be included as part of the value). For example:
50+
51+
# Disable run-time MPI parameter checking
52+
# mpi_param_check = 0
53+
54+
# Note that the value "~/" will be expanded to the current user's home
55+
# directory. For example:
56+
57+
# Change component loading path
58+
# component_path = /usr/local/lib/openmpi:~/my_openmpi_components
59+
60+
# See "ompi_info --param all all" for a full listing of Open MPI MCA
61+
# parameters available and their default values.
62+
#
63+
64+
# Basic behavior to smooth startup
65+
mca_base_component_show_load_errors = 0
66+
67+
btl = self,sm,tcp
68+
69+
# Enabling the progress thread should give better performance in
70+
# most cases.
71+
btl_tcp_progress_thread = 1
72+
73+
# Enable hierarchal collectives.
74+
coll_han_priority = 100
75+
76+
# Enable coll/sm. This is commented out for now since coll/sm needs
77+
# some work before it is ready to be used in most cases.
78+
# coll_sm_priority = 100
79+
80+
# If the system has busy polling enable (net.core.busy_read > 0)
81+
# the performance suffers greatly when using poll. Use epoll
82+
# instead. This should not hurt performance in other cases.
83+
opal_even_include = epoll
84+
85+
## Setup MPI options
86+
mpi_show_handle_leaks = 0
87+
mpi_abort_print_stack = 0

0 commit comments

Comments
 (0)