If your laptop is your bottleneck, Inductiva is your breakthrough. Instant, on-demand scale with a pay-as-you-go approach.
BYOC (Bring Your Own Cloud) allows you to launch and manage compute machines directly on your own Google Cloud Platform (GCP) account while using Inductiva's simulation capabilities. This gives you:
BYOC is designed with security as a priority:
Inductiva can see machine information reported by the task-runner for monitoring and pricing purposes:
However, Inductiva cannot see your GCP credentials, billing information, or access your GCP console.
You need the Compute Instance Admin (v1) role, or a custom role with these specific permissions:
compute.instances.create - To create VMscompute.instances.delete - To delete VMs (including auto-termination)compute.instances.setMetadata - To set startup script and configuration# Linux/macOS
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
gcloud init
gcloud services enable compute.googleapis.com
gcloud auth list
gcloud config get-value project
You need to enable the Compute Engine API (compute.googleapis.com) in your GCP project.
Simply add byoc=True to your machine group creation:
import inductiva
mg = inductiva.resources.MachineGroup(
provider="GCP",
machine_type="c2d-highcpu-8",
spot=True,
byoc=True, # This enables BYOC
)
Current limitation: BYOC machine groups only support one VM per group (unlike regular machine groups).
Workaround: Create multiple machine groups in a loop:
for i in range(3):
mg = inductiva.resources.MachineGroup(
provider="GCP",
machine_type="c2d-highcpu-8",
spot=True,
byoc=True,
)
# Use each machine group for simulations
By default, BYOC VMs automatically terminate after 3 minutes of idle time to prevent unexpected charges. You can:
mg = inductiva.resources.MachineGroup(
# ... other parameters ...
max_idle_time=10 # 10 minutes
)
mg = inductiva.resources.MachineGroup(
# ... other parameters ...
max_idle_time=None # No auto-termination
)
⚠️ Warning: Disabling auto-termination removes the safety mechanism. You're fully responsible for manually terminating machines.
Unlike Inductiva's managed infrastructure, BYOC doesn't support automatic disk resizing. You must specify the disk size upfront:
mg = inductiva.resources.MachineGroup(
provider="GCP",
machine_type="c2d-highcpu-8",
spot=True,
byoc=True,
data_disk_gb=100 # Specify disk size in GB
)
Important: If your simulation runs out of disk space, it will crash. Always estimate your storage requirements and add a safety margin.
You are responsible for all costs incurred by VMs running in your GCP account. This includes:
Inductiva doesn't charge for the compute resources (since they run in your account), but standard Inductiva usage fees still apply for simulation services.
This is a current limitation in the alpha version. Cost calculations always report 0 for BYOC machine groups.
gcloud init to set up authenticationgcloud auth listgcloud config get-value projectcompute.instances.createcompute.instances.deletecompute.instances.setMetadataCurrent limitation: Only Inductiva storage is currently supported in the alpha version.
Coming soon: GCP storage integration will be available in future releases.
inductiva task-runner launch byoc-gcp-machine \
--provider gcp \
--machine-type c2d-highcpu-8 \
--spot
inductiva task-runner launch byoc-gcp-machine \
--provider gcp \
--machine-type c2d-highcpu-8 \
--data-disk-gb 100 \
--spot
inductiva task-runner launch short-lived-machine \
--provider gcp \
--machine-type c2d-highcpu-8 \
--max-idle-time 5 \
--spot
Alpha version limitations:
num_machines support)