@@ -47,18 +47,96 @@ cd hpc-toolkit && make
4747You should now have a binary named ` ghpc ` in the project root directory.
4848Optionally, 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