Snowpark-optimized warehouses

Snowpark-optimized warehouses let you configure the available memory resources and CPU architecture on a single-node instance for your workloads.

When to use a Snowpark-optimized warehouse

While Snowpark workloads can be run on both standard and Snowpark-optimized warehouses, Snowpark-optimized warehouses are recommended for running code, and recommended workloads that have large memory requirements or dependencies on a specific CPU architecture. Example workloads include ML training use cases using a stored procedure on a single virtual warehouse node. Snowpark workloads, utilizing UDF or UDTF, might also benefit from Snowpark-optimized warehouses.

Note

Initial creation and resumption of a Snowpark-optimized virtual warehouse might take longer than standard warehouses.

Configuration options for Snowpark-optimized warehouses

The default configuration for a Snowpark-optimized warehouse provides 16x memory per node compared to a standard warehouse. You can optionally configure additional memory per node and specify CPU architecture using the resource_constraint property. The following options are available:

Memory (up to)

CPU architecture

Minimum warehouse size required

16GB

Default or x86

XSMALL

256GB

Default or x86

M

1TB [1]

Default or x86

L

Creating a Snowpark-optimized warehouse

Use the warehouse_type property in the CREATE WAREHOUSE command to create a new Snowpark-optimized warehouse.

Create a new Snowpark-optimized warehouse snowpark_opt_wh:

CREATE OR REPLACE WAREHOUSE snowpark_opt_wh WITH
  WAREHOUSE_SIZE = 'MEDIUM'
  WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED';
Copy

This statement creates an Snowpark optimized warehouse as specified and with RESOURCE_CONSTRAINT = MEMORY_16X;

Create a large Snowpark-optimized warehouse so_warehouse with 256 GB of memory:

CREATE WAREHOUSE so_warehouse WITH
  WAREHOUSE_SIZE = 'LARGE'
  WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED'
  RESOURCE_CONSTRAINT = 'MEMORY_16X_X86';
Copy

Note

DEFAULT is MEMORY_16X.

Modifying Snowpark-optimized warehouse properties

The ALTER WAREHOUSE command can be used to modify warehouse properties, including the warehouse type.

Note

Changing the warehouse type using the ALTER WAREHOUSE command is only supported for a warehouse in the SUSPENDED state. To suspend a warehouse before changing the warehouse_type property, execute the following statement:

ALTER WAREHOUSE snowpark_opt_wh SUSPEND;
Copy

Modify the memory resources and CPU architecture for Snowpark-optimized warehouse so_warehouse:

ALTER WAREHOUSE so_warehouse SET
  RESOURCE_CONSTRAINT = 'MEMORY_1X_X86';
Copy

Using Snowpark Python Stored Procedures to run ML training workloads

For information on Machine Learning Models and Snowpark Python, see Training Machine Learning Models with Snowpark Python.

Billing for Snowpark-optimized warehouses

For information on Snowpark-optimized warehouse credit consumption see Table 1(a): Snowflake Credit Table for Virtual Warehouse Services in the Snowflake Service Consumption Table.

Region availability

Snowpark-optimized warehouses are available in all regions across AWS, Azure, and Google Cloud [1].