Skip to content

Commit 73fb63f

Browse files
authored
Merge pull request #868 from GoogleCloudPlatform/release-candidate
Release v1.12.0
2 parents d706498 + f4243e5 commit 73fb63f

File tree

93 files changed

+1709
-570
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+1709
-570
lines changed

SECURITY.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
To report a security issue, please email hpc-toolkit-security@google.com
2+
with a description of the issue, the steps you took to create the issue,
3+
affected versions, and, if known, mitigations for the issue. Our vulnerability
4+
management team will respond within 3 working days of your email. If the issue
5+
is confirmed as a vulnerability, we will open a Security Advisory. This project
6+
follows a 90 day disclosure timeline.

cmd/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ HPC deployments on the Google Cloud Platform.`,
4949
log.Fatalf("cmd.Help function failed: %s", err)
5050
}
5151
},
52-
Version: "v1.11.0",
52+
Version: "v1.12.0",
5353
Annotations: annotation,
5454
}
5555
)
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
# Copyright 2023 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
---
16+
17+
blueprint_name: ansys-fluent
18+
19+
vars:
20+
project_id: ## Set GCP Project ID Here ##
21+
deployment_name: fluent-wl
22+
region: us-central1
23+
zone: us-central1-c
24+
25+
deployment_groups:
26+
- group: primary
27+
modules:
28+
- source: modules/scripts/startup-script
29+
kind: terraform
30+
id: startup_login
31+
settings:
32+
runners:
33+
- type: shell
34+
content: |
35+
#!/bin/bash
36+
google_mpi_tuning --hpcthroughput
37+
google_mpi_tuning --nomitigation
38+
yum -y install mesa-libGLU-devel libExt nmap openssl libXrandr mesa-libGL libX11-devel libSM-devel libICE-devel libXinerama libXcursor hdf5-devel dkms zlib-devel libXext-devel libGLU-devel libXt-devel libXrender-devel libXinerama-devel libpng-devel libXrandr-devel libXi-devel libXft-devel libjpeg-turbo-devel libXcursor-devel readline-devel ncurses-devel python python-devel cmake qt-devel qt-assistant mpfr-devel gmp-devel htop wget screen vim xorg-x11-drv-dummy xorg-x11-server-utils libXp-devel xorg-x11-fonts-cyrillic.noarch xterm.x86_64 motif-devel compat-libstdc++-33.x86_64 libstdc++.x86_64 libstdc++.i686 gcc-c++.x86_64 compat-libstdc++-33.i686 libstdc++-devel.x86_64 libstdc++-devel.i686 compat-gcc-34.x86_64 gtk2.i686 libXxf86vm.i686 libSM.i686 xorg-x11-fonts-ISO8859-1-75dpi.no xorg-x11-fonts-iso8859-1-75dpi.no gdm gnome-session gnome-classic-session gnome-session-xsession xorg-x11-server-Xorg xorg-x11-drv-dummy xorg-x11-fonts-Type1 xorg-x11-utils gnome-terminal gnu-free-fonts-common gnu-free-mono-fonts gnu-free-sans-fonts gnu-free-serif-fonts alsa-plugins-pulseaudio alsa-utils hdf5-devel
39+
40+
destination: /tmp/install-deps.sh
41+
- type: shell
42+
content: |
43+
#!/bin/bash
44+
cat <<- "EOF" >> /etc/bashrc
45+
export LD_LIBRARY_PATH=/shared/apps/fluent/v222/TurboGrid/tools/Prime/lib/:${LD_LIBRARY_PATH}
46+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/v222/commonfiles/fluids/lib/linx64/
47+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/v222/commonfiles/fluids/lib/linx64/
48+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/v222/fluent/fluent22.2.0/multiport/lnamd64/mpi/shared/
49+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/shared_files/syslib/linx64
50+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/v222/aisol/lib/linx64/
51+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/v222/polyflow/polyflow22.2.0/lnamd64/libs/
52+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/v222/tp/IntelMKL/2021.3.0/linx64/lib/intel64/
53+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/v222/fluent/lib/lnamd64/
54+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/shared/apps/fluent/v222/dcs/
55+
export INTELMPI_ROOT=/shared/apps/intel/compilers_and_libraries_2018.5.274/linux/mpi/intel64
56+
source /shared/apps/intel/parallel_studio_xe_2018.4.057/psxevars.sh
57+
EOF
58+
59+
destination: /tmp/install-bashrc.sh
60+
- type: shell
61+
content: |
62+
#!/bin/bash
63+
mkdir /tmp/intel
64+
cd /tmp/intel
65+
wget https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13741/l_mpi_2018.4.274.tgz
66+
tar xvf l_mpi_2018.4.274.tgz
67+
cd l_mpi_2018.4.274
68+
patch silent.cfg <<- "EOF1"
69+
16:07:46.199308305 +0000
70+
@@ -6,13 +6,13 @@
71+
# snpat - the serial number pattern (ABCD-01234567)
72+
73+
# Accept EULA, valid values are: {accept, decline}
74+
-ACCEPT_EULA=decline
75+
+ACCEPT_EULA=accept
76+
77+
# Optional error behavior, valid values are: {yes, no}
78+
CONTINUE_WITH_OPTIONAL_ERROR=yes
79+
80+
# Install location, valid values are: {/opt/intel, filepat}
81+
-PSET_INSTALL_DIR=/opt/intel
82+
+PSET_INSTALL_DIR=/shared/apps/intel
83+
84+
# Continue with overwrite of existing installation directory, valid values are: {yes, no}
85+
CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes
86+
EOF1
87+
88+
sudo ./install.sh -s silent.cfg
89+
90+
destination: /tmp/install-mpi.sh
91+
92+
- source: modules/scripts/startup-script
93+
kind: terraform
94+
id: startup
95+
settings:
96+
runners:
97+
- type: shell
98+
content: |
99+
#!/bin/bash
100+
google_mpi_tuning --hpcthroughput
101+
google_mpi_tuning --nomitigation
102+
yum -y install mesa-libGLU-devel libExt nmap openssl libXrandr mesa-libGL libX11-devel libSM-devel libICE-devel libXinerama libXcursor hdf5-devel dkms zlib-devel libXext-devel libGLU-devel libXt-devel libXrender-devel libXinerama-devel libpng-devel libXrandr-devel libXi-devel libXft-devel libjpeg-turbo-devel libXcursor-devel readline-devel ncurses-devel python python-devel cmake qt-devel qt-assistant mpfr-devel gmp-devel htop wget screen vim xorg-x11-drv-dummy xorg-x11-server-utils libXp-devel xorg-x11-fonts-cyrillic.noarch xterm.x86_64 motif-devel compat-libstdc++-33.x86_64 libstdc++.x86_64 libstdc++.i686 gcc-c++.x86_64 compat-libstdc++-33.i686 libstdc++-devel.x86_64 libstdc++-devel.i686 compat-gcc-34.x86_64 gtk2.i686 libXxf86vm.i686 libSM.i686 xorg-x11-fonts-ISO8859-1-75dpi.no xorg-x11-fonts-iso8859-1-75dpi.no gdm gnome-session gnome-classic-session gnome-session-xsession xorg-x11-server-Xorg xorg-x11-drv-dummy xorg-x11-fonts-Type1 xorg-x11-utils gnome-terminal gnu-free-fonts-common gnu-free-mono-fonts gnu-free-sans-fonts gnu-free-serif-fonts alsa-plugins-pulseaudio alsa-utils hdf5-devel
103+
104+
destination: /tmp/install-deps.sh
105+
- type: shell
106+
content: |
107+
#!/bin/bash
108+
hostname >> /home/hosts.txt
109+
destination: /tmp/install-hosts.sh
110+
111+
- source: modules/file-system/filestore
112+
kind: terraform
113+
id: homefs
114+
settings:
115+
network_name: "default"
116+
size_gb: 1024
117+
filestore_tier: "BASIC_HDD"
118+
local_mount: /home
119+
120+
- source: modules/file-system/filestore
121+
kind: terraform
122+
id: sharefs
123+
settings:
124+
network_name: "default"
125+
size_gb: 1024
126+
filestore_tier: "BASIC_HDD"
127+
local_mount: /shared
128+
129+
- source: modules/compute/vm-instance
130+
kind: terraform
131+
id: compute_1
132+
use:
133+
- homefs
134+
- sharefs
135+
- startup
136+
settings:
137+
threads_per_core: 1
138+
disable_public_ips: false
139+
bandwidth_tier: "gvnic_enabled"
140+
machine_type: c2-standard-60
141+
instance_count: 4
142+
name_prefix: fluent-compute
143+
placement_policy:
144+
vm_count: 4 # Note: should match instance count
145+
collocation: "COLLOCATED"
146+
availability_domain_count: null
147+
148+
- source: modules/compute/vm-instance
149+
kind: terraform
150+
id: login
151+
use:
152+
- homefs
153+
- sharefs
154+
- startup_login
155+
settings:
156+
threads_per_core: 1
157+
disable_public_ips: false
158+
bandwidth_tier: "gvnic_enabled"
159+
machine_type: c2-standard-8
160+
instance_count: 1
161+
name_prefix: fluent-login
162+
163+
- source: community/modules/scripts/wait-for-startup
164+
kind: terraform
165+
id: wait
166+
settings:
167+
instance_name: ((module.compute_1.name[0]))

community/examples/intel/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ Follow `ghpc` instructions to deploy the environment
261261
262262
The `community/examples/intel/daos-cluster.yaml` blueprint does not contain configuration for DAOS pools and containers. Therefore, pools and containers will need to be created manually.
263263
264-
Before pools and containers can be created the storage system must be formatted. Formatting the storage is done automatically by the startup script that runs on the *daos-server-0001* instance. The startup script will run the [dmg storage format](https://docs.daos.io/v2.0/admin/deployment/?h=dmg+storage#storage-formatting) command. It may take a few minutes for all daos server instances to join.
264+
Before pools and containers can be created the storage system must be formatted. Formatting the storage is done automatically by the startup script that runs on the *daos-server-0001* instance. The startup script will run the [dmg storage format](https://docs.daos.io/v2.2/admin/deployment/?h=dmg+storage#storage-formatting) command. It may take a few minutes for all daos server instances to join.
265265
266266
Verify that the storage system has been formatted and that the daos-server instances have joined.
267267
@@ -286,9 +286,9 @@ Both daos-server instances should show a state of *Joined*.
286286
287287
#### About the DAOS Command Line Tools
288288
289-
The DAOS Management tool `dmg` is used by System Administrators to manange the DAOS storage [system](https://docs.daos.io/v2.0/overview/architecture/#daos-system) and DAOS [pools](https://docs.daos.io/v2.0/overview/storage/#daos-pool). Therefore, `sudo` must be used when running `dmg`.
289+
The DAOS Management tool `dmg` is used by System Administrators to manange the DAOS storage [system](https://docs.daos.io/v2.2/overview/architecture/#daos-system) and DAOS [pools](https://docs.daos.io/v2.2/overview/storage/#daos-pool). Therefore, `sudo` must be used when running `dmg`.
290290
291-
The DAOS CLI `daos` is used by both users and System Administrators to create and manage [containers](https://docs.daos.io/v2.0/overview/storage/#daos-container). It is not necessary to use `sudo` with the `daos` command.
291+
The DAOS CLI `daos` is used by both users and System Administrators to create and manage [containers](https://docs.daos.io/v2.2/overview/storage/#daos-container). It is not necessary to use `sudo` with the `daos` command.
292292
293293
#### Determine Free Space
294294
@@ -323,7 +323,7 @@ Set ACLs to allow any user to create a container in *pool1*.
323323
sudo dmg pool update-acl -e A::EVERYONE@:rcta pool1
324324
```
325325
326-
See the [Pool Operations](https://docs.daos.io/v2.0/admin/pool_operations) section of the of the DAOS Administration Guide for more information about creating pools.
326+
See the [Pool Operations](https://docs.daos.io/v2.2/admin/pool_operations) section of the of the DAOS Administration Guide for more information about creating pools.
327327
328328
#### Create a Container
329329
@@ -336,10 +336,10 @@ For the purpose of this demo create the container without specifying ACLs. The c
336336
daos cont create pool1 \
337337
--label cont1 \
338338
--type POSIX \
339-
--properties rf:1
339+
--properties rf:0
340340
```
341341
342-
See the [Container Management](https://docs.daos.io/v2.0/user/container) section of the of the DAOS User Guide for more information about creating containers.
342+
See the [Container Management](https://docs.daos.io/v2.2/user/container) section of the of the DAOS User Guide for more information about creating containers.
343343
344344
#### Mount the DAOS Container
345345
@@ -371,7 +371,7 @@ time LD_PRELOAD=/usr/lib64/libioil.so \
371371
dd if=/dev/zero of=./test20GiB.img iflag=fullblock bs=1G count=20
372372
```
373373
374-
See the [File System](https://docs.daos.io/v2.0/user/filesystem/) section of the DAOS User Guide for more information about DFuse.
374+
See the [File System](https://docs.daos.io/v2.2/user/filesystem/) section of the DAOS User Guide for more information about DFuse.
375375
376376
### Unmount the DAOS Container
377377
@@ -387,7 +387,7 @@ Verify that the container is unmounted
387387
df -h -t fuse.daos
388388
```
389389
390-
See the [DFuse (DAOS FUSE)](https://docs.daos.io/v2.0/user/filesystem/?h=dfuse#dfuse-daos-fuse) section of the DAOS User Guide for more information about mounting POSIX containers.
390+
See the [DFuse (DAOS FUSE)](https://docs.daos.io/v2.2/user/filesystem/?h=dfuse#dfuse-daos-fuse) section of the DAOS User Guide for more information about mounting POSIX containers.
391391
392392
### Delete the DAOS infrastructure when not in use
393393
@@ -596,7 +596,7 @@ Verify that the container is unmounted
596596
df -h -t fuse.daos
597597
```
598598
599-
See the [DFuse (DAOS FUSE)](https://docs.daos.io/v2.0/user/filesystem/?h=dfuse#dfuse-daos-fuse) section of the DAOS User Guide for more information about mounting POSIX containers.
599+
See the [DFuse (DAOS FUSE)](https://docs.daos.io/v2.2/user/filesystem/?h=dfuse#dfuse-daos-fuse) section of the DAOS User Guide for more information about mounting POSIX containers.
600600
601601
### Delete the DAOS/Slurm Cluster infrastructure when not in use
602602

community/examples/intel/daos-cluster.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ deployment_groups:
3535
# https://github.com/daos-stack/google-cloud-daos/tree/main/images
3636
# more info: https://github.com/daos-stack/google-cloud-daos/tree/main/terraform/modules/daos_server
3737
- id: daos-server
38-
source: github.com/daos-stack/google-cloud-daos.git//terraform/modules/daos_server?ref=v0.2.1
38+
source: github.com/daos-stack/google-cloud-daos.git//terraform/modules/daos_server?ref=v0.3.0
3939
use: [network1]
4040
settings:
4141
number_of_instances: 2
@@ -45,7 +45,7 @@ deployment_groups:
4545
# https://github.com/daos-stack/google-cloud-daos/tree/main/images
4646
# more info: https://github.com/daos-stack/google-cloud-daos/tree/main/terraform/modules/daos_client
4747
- id: daos-client
48-
source: github.com/daos-stack/google-cloud-daos.git//terraform/modules/daos_client?ref=v0.2.1
48+
source: github.com/daos-stack/google-cloud-daos.git//terraform/modules/daos_client?ref=v0.3.0
4949
use: [network1, daos-server]
5050
settings:
5151
number_of_instances: 2

community/examples/intel/daos-slurm.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ deployment_groups:
4141
# https://github.com/daos-stack/google-cloud-daos/tree/main/images
4242
# more info: https://github.com/daos-stack/google-cloud-daos/tree/main/terraform/modules/daos_server
4343
- id: daos
44-
source: github.com/daos-stack/google-cloud-daos.git//terraform/modules/daos_server?ref=v0.2.1
44+
source: github.com/daos-stack/google-cloud-daos.git//terraform/modules/daos_server?ref=v0.3.0
4545
use: [network1]
4646
settings:
4747
labels: {ghpc_role: file-system}

community/front-end/ofe/website/ghpcfe/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -643,10 +643,10 @@ class Cluster(CloudResource):
643643
)
644644
login_node_disk_size = models.PositiveIntegerField(
645645
# login node disk must be large enough to hold the SlurmGCP
646-
# image: >=30GB
647-
validators=[MinValueValidator(30)],
646+
# image: >=50GB
647+
validators=[MinValueValidator(50)],
648648
help_text="Boot disk size (in GB)",
649-
default=30,
649+
default=50,
650650
blank=True,
651651
)
652652
grafana_dashboard_url = models.CharField(

community/front-end/ofe/website/nginx.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ http {
3939
set $gitScript /usr/libexec/git-core/git-http-backend;
4040
}
4141

42-
location /static {
43-
alias ../hpc-toolkit/community/front-end/website/static/;
42+
location /static/ {
43+
alias ../hpc-toolkit/community/front-end/ofe/website/static/;
4444
}
4545

4646
location / {

community/modules/compute/SchedMD-slurm-on-gcp-partition/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ The following code snippet creates a partition module with:
2727
machine_type: c2-standard-30
2828
```
2929
30+
## GPU Support
31+
32+
More information on GPU support in Slurm on GCP and other HPC Toolkit modules
33+
can be found at [docs/gpu-support.md](../../../../docs/gpu-support.md)
34+
3035
## Support
3136
The HPC Toolkit team maintains the wrapper around the [slurm-on-gcp] terraform
3237
modules. For support with the underlying modules, see the instructions in the

community/modules/compute/pbspro-execution/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ concert with the [pbspro-preinstall], [pbspro-server], and [filestore] modules.
3131
[pbspro-preinstall]: ../../scripts/pbspro-preinstall/README.md
3232
[filestore]: ../../../../modules/file-system/filestore/README.md
3333
34+
## GPU Support
35+
36+
More information on GPU support in PBS Pro and other HPC Toolkit modules
37+
can be found at [docs/gpu-support.md](../../../../docs/gpu-support.md)
38+
3439
## Support
3540
3641
PBS Professional is licensed and supported by [Altair][pbspro]. This module is

0 commit comments

Comments
 (0)