Skip to content

Commit 6fdf1a4

Browse files
authored
Merge pull request #289 from GoogleCloudPlatform/revert-273-doc/tutorial-quickstart
Partial Revert "Point to tutorials for quickstart in README"
2 parents 7cf7f59 + 8091103 commit 6fdf1a4

File tree

1 file changed

+90
-12
lines changed

1 file changed

+90
-12
lines changed

README.md

Lines changed: 90 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,96 @@ cd hpc-toolkit && make
4747
You should now have a binary named `ghpc` in the project root directory.
4848
Optionally, you can run `./ghpc --version` to verify the build.
4949

50-
## Quick Start Tutorials
51-
52-
* [Simple Cluster](docs/tutorials/basic.md): Deploy a simple HPC cluster
53-
using the HPC Toolkit in [cloud shell](https://cloud.google.com/shell) and the
54-
[hpc-cluster-small.yaml example](examples/hpc-cluster-small.yaml).
55-
* [Intel Select Solution Cluster](docs/tutorials/intel-select/intel-select.md):
56-
Walks through deploying an HPC cluster that is based on the
57-
[HPC virtual machine (VM) image][hpc-vm-image] and complies to the
58-
[Intel Select Solution for Simulation and Modeling criteria][intel-select].
59-
60-
[hpc-vm-image]: https://cloud.google.com/compute/docs/instances/create-hpc-vm
61-
[intel-select]: https://www.intel.com/content/www/us/en/products/solutions/select-solutions/hpc/simulation-modeling.html
50+
## Quick Start
51+
52+
To create an HPC deployment, an HPC blueprint file needs to be written or
53+
adapted from one of the [core examples](examples/) or
54+
[community examples](community/examples/).
55+
56+
These instructions will use
57+
[examples/hpc-cluster-small.yaml](examples/hpc-cluster-small.yaml), which is a
58+
good starting point and creates a deployment containing:
59+
60+
* a new network
61+
* a filestore instance
62+
* a slurm login node
63+
* a slurm controller
64+
65+
> **_NOTE:_** More information on the example blueprints can be found in
66+
> [examples/README.md](examples/README.md).
67+
68+
These instructions assume you are using
69+
[Cloud Shell](https://cloud.google.com/shell) in the context of the GCP project
70+
you wish to deploy in, and that you are in the root directory of the hpc-toolkit
71+
repo cloned during [installation](#installation).
72+
73+
Run the ghpc binary with the following command:
74+
75+
```shell
76+
./ghpc create examples/hpc-cluster-small.yaml --vars "project_id=${GOOGLE_CLOUD_PROJECT}"
77+
```
78+
79+
> **_NOTE:_** The `--vars` argument supports comma-separated list of name=value
80+
> variables to override blueprint variables. This feature only supports
81+
> variables of string type.
82+
83+
This will create a deployment directory named `hpc-small/`.
84+
85+
After successfully running `ghpc create`, a short message displaying how to
86+
proceed is displayed. For the `hpc-cluster-small` example, the message will
87+
appear similar to:
88+
89+
```shell
90+
terraform -chdir=hpc-cluster-small/primary init
91+
terraform -chdir=hpc-cluster-small/primary validate
92+
terraform -chdir=hpc-cluster-small/primary apply
93+
```
94+
95+
Use these commands to run terraform and deploy your cluster. If the `apply` is
96+
successful, a message similar to the following will be displayed:
97+
98+
```shell
99+
Apply complete! Resources: 13 added, 0 changed, 0 destroyed.
100+
```
101+
102+
> **_NOTE:_** Before you run this for the first time you may need to enable some
103+
> APIs and possibly request additional quotas. See
104+
> [Enable GCP APIs](#enable-gcp-apis) and
105+
> [Small Example Quotas](examples/README.md#hpc-cluster-smallyaml).\
106+
> **_NOTE:_** If not using cloud shell you may need to set up
107+
> [GCP Credentials](#gcp-credentials).\
108+
> **_NOTE:_** Cloud Shell times out after 20 minutes of inactivity. This example
109+
> deploys in about 5 minutes but for more complex deployments it may be
110+
> necessary to deploy (`terraform apply`) from a cloud VM. The same process
111+
> above can be used, although [dependencies](#dependencies) will need to be
112+
> installed first.
113+
114+
Once successfully deployed, take the following steps to run a job:
115+
116+
* First navigate to `Compute Engine` > `VM instances` in the Google Cloud Console.
117+
* Next click on the `SSH` button associated with the `slurm-hpc-small-login0` instance.
118+
* Finally run the `hostname` command on 3 nodes by running the following command in the shell popup:
119+
120+
```shell
121+
$ srun -N 3 hostname
122+
slurm-hpc-slurm-small-debug-0-0
123+
slurm-hpc-slurm-small-debug-0-1
124+
slurm-hpc-slurm-small-debug-0-2
125+
```
126+
127+
By default, this runs the job on the `debug` partition. See details in
128+
[examples/](examples/README.md#compute-partition) for how to run on the more
129+
performant `compute` partition.
130+
131+
This example does not contain any Packer-based modules but for completeness,
132+
you can use the following command to deploy a Packer-based deployment group:
133+
134+
```shell
135+
cd <deployment-directory>/<packer-group>/<custom-vm-image>
136+
packer init .
137+
packer validate .
138+
packer build .
139+
```
62140

63141
## HPC Toolkit Components
64142

0 commit comments

Comments
 (0)