Supported Machines
The fal runtime lets you specify the size of the machine that your fal apps and functions run on.
Machine Types
Value | Description |
---|---|
XS | 0.25 CPU cores, 256MB RAM (default) |
S | 0.50 CPU cores, 1GB RAM |
M | 2 CPU cores, 8GB RAM |
L | 4 CPU cores, 32GB RAM |
GPU-A6000 | 4 CPU cores, 18GB RAM, 1 GPU core (48GB VRAM) |
GPU-A100 | 10 CPU cores, 60GB RAM, 1 GPU core (40GB VRAM) |
GPU-H100 | 12 CPU cores, 112GB RAM, 1 GPU core (80GB VRAM) |
GPU-H200 | 12 CPU cores, 112GB RAM, 1 GPU core (141GB VRAM) |
GPU-B200 | 8 CPU cores, 64GB RAM, 1 GPU core (192GB VRAM) |
For GPU machines, you can also specify the number of GPUs you want to use with the num_gpus
option, see examples below.
Examples
Applications
class MyApp(fal.App): machine_type = "GPU-H100" num_gpus = 4 ...
Functions
For example:
@fal.function(machine_type="GPU")def my_function(): ...
@fal.function(machine_type="L")def my_other_function(): ...
By default, the machine_type
is set to XS
.
You can also switch the machine type of an existing fal function by using the on
method.
my_function_S = my_function.on(machine_type="S")
In the above example, my_function_S
is a new fal function that has the same contents as my_function
, but it will run on a machine type S
.
Both functions can be called:
my_function() # executed on machine type `GPU`my_function_S() # same as my_function but executed on machine type `S`
my_function
is executed on machine type GPU
. And my_function_S
, which has the same logic as my_function
, is now executed on machine type S
.