Core Concepts
These are some of the core concepts that power Shadeform.
Cloud / Cloud Provider
Shadeform is an abstraction layer over lots of cloud providers and data centers. In Shadeform’s platform and API, cloud refers to the underlying provider that is supplying GPU instances through Shadeform.
Shade Instance Type and Cloud Instance Type
Shade instance type is the generalized name for instances based on its GPU configuration. Shadeform uses this generalized instance naming to better group similar instance types in different clouds.
Cloud instance type is the name of the instance in the underlying cloud provider. You can use cloud instance type to look up cloud specific documentation for the instance.
Cloud | Cloud Instance Type | Shade Instance Type |
---|---|---|
AWS | p4de.24xlarge, | A100_80Gx8 |
Azure | Standard_ND96amsr_A100_v4 | A100_80Gx8 |
HyperStack | n2-A100x8 | A100_80Gx8 |
As you can see, the cloud instance type can vary greatly depending on the provider whereas the shade instance type is standardized across providers. The combination of cloud and shade instance type uniquely denotes a GPU instance type.
Shade Cloud
“Shade Cloud” represents the network of cloud accounts Shadeform manages across the cloud providers. If you launch an instance in “Shade Cloud”, you are launching the instance in one of Shadeform’s master accounts with the underlying cloud provider. Shadeform provides you the IP address and SSH key to access the instance. Shadeform ensures that your instance is kept secure and isolated from any other instances launched through Shade Cloud.
Using Shade Cloud means that you don’t need to set up accounts and billing with each provider supported through Shadeform; you just need a single account with Shadeform. Using Shade Cloud allows you to leverage the increased limits, quotas, and images that we have already set up in each cloud provider. Certain features such as container launch configurations and standardized images are limited to Shade Cloud only.
Scheduling Instances
Shadeform monitors the real-time availability of all GPU instances on the platform.
With this monitoring system, Shadeform provides a service that allows you to schedule a period of time when Shadeform tries to launch an unavailable instance on your behalf.
For example, if you want to launch an 8xH100 instance on Lambda Labs at $27.92 / hr
but the instance is unavailable, you can schedule the instance and Shadeform will launch that instance into your account if it becomes available during the configured time period.
If an instance is launched, you will receive an email notifying you that the instance was launched successfully.
You can use the scheduling feature to build up a GPU fleet of availability instances.
Cloud Access
If you prefer not to use Shade Cloud, you can also set up cloud access here to have Shadeform manage your own cloud account. Setting up cloud access typically means providing Shadeform with your cloud API key but can also mean deploying resource stacks that grant Shadeform permissions in your cloud provider.
Launch Configuration
Launch configurations are additional settings that you can provide when launching a GPU instance through Shadeform.
Script Launch Configuration allows you to provide a custom bash script that gets run on your instance once it becomes active.
Docker Launch Configuration allows you to provide a container image which gets run on your instance once it becomes active.
For Docker Launch Configuration, you are not running a serverless container. Shadeform is merely spinning up the container on the VM that you spun up.