GCP Resources¶
What gets created¶
| Resource | When | Persists? | Cost |
|---|---|---|---|
| OS Login metadata | gcloud (one-time) |
Yes | $0 |
| GCS bucket | ops-hpc setup |
Yes (empty = $0) | $0.026/GB/mo |
| Compute image | ops-hpc build |
Yes | ~$2.50/mo (50 GB) |
| Spot VM (build) | ops-hpc build |
No (auto-deleted) | $2.34/hr |
| Standard VM (run) | ops-hpc run |
No (auto-deleted) | $4.92/hr |
| Spot VM (test) | ops-hpc run --spot |
No (auto-deleted) | $2.34/hr |
| IAM policy binding | ops-hpc setup |
Yes | $0 |
OS Login¶
OS Login is required for reliable SSH access. It maps your Google account to a consistent POSIX username across all VMs (e.g. onurdenizakan_gmail_com), replacing the older metadata-based SSH key approach.
Enable at the project level (one-time):
gcloud compute project-info add-metadata --project=<PROJECT_ID> --metadata enable-oslogin=TRUE
ops-hpc setup verifies this is enabled. Once set, gcloud compute ssh automatically uses your OS Login username. Set this username in your profile:
ops-hpc config set username <your_oslogin_username>
Note
Enabling OS Login disables metadata-based SSH keys. All users must authenticate via their Google account.
Machine type: h3-standard-88¶
- 88 physical cores (Intel Sapphire Rapids, 4th Gen Xeon)
- 352 GB DDR5 RAM
- 4 NUMA nodes (22 cores each)
- SMT disabled by design
- 200 Gbps Titanium network (requires gVNIC)
H3-specific requirements¶
These are set automatically by create_instance():
scheduling.on_host_maintenance = "TERMINATE" # no live migration
scheduling.automatic_restart = False # no restart loops
boot_disk_type = "pd-balanced" # pd-ssd not supported
Boot image¶
Source image (build): hpc-rocky-linux-8 from cloud-hpc-image-public
- Pre-tuned kernel for MPI
- gVNIC driver for Titanium network
- Hugepages and NUMA settings
Custom image (run): opensees-rocky8-ready in family opensees-hpc
- Everything from the source image
- Intel oneAPI 2025.3 (icx, ifx, MKL, Intel MPI)
- MUMPS 5.5.1
- OpenSees, OpenSeesSP, OpenSeesMP
- System commands:
opensees,openseessp,openseesmp
Disk sizes¶
| Purpose | Size | Disk type | Persists? |
|---|---|---|---|
| Build VM | 50 GB | pd-balanced | Becomes image |
| Run VM | 150 GB | pd-balanced | Deleted with VM |
The run disk is larger because it holds the OS (from image) plus analysis results during the run. Results are uploaded to GCS between jobs, so the disk only needs to hold ~2 analyses at once.
Service account¶
VMs use the default compute service account with cloud-platform scope:
<PROJECT_NUMBER>-compute@developer.gserviceaccount.com
ops-hpc setup automatically grants this account roles/storage.objectAdmin so VMs can upload results to GCS.
Regions and zones¶
Default: us-central1-a. H3 machines are available in limited zones. Check availability:
gcloud compute machine-types list --filter="name=h3-standard-88" --format="table(zone)"