# Setting up the app

For the Tonic Textual Snowflake Native App, you set up:

* A compute pool
* A warehouse to enable queries

## Setting up the compute pool <a href="#snowflake-app-compute-pool" id="snowflake-app-compute-pool"></a>

The compute pool must be specific to Textual.

For large-scale jobs, we highly recommend a GPU-enabled compute pool.

During setup and testing, you can use a CPU-only pool.

{% code overflow="wrap" %}

```sql
USE ROLE SYSADMIN;
CREATE COMPUTE POOL IF NOT EXISTS {YOUR_COMPUTE_POOL_NAME} FOR APPLICATION TONIC_TEXTUAL
    MIN_NODES = 1
    MAX_NODES = 1
    INSTANCE_FAMILY = GPU_NV_S
    AUTO_RESUME = true;
```

{% endcode %}

## Creating a warehouse for Textual to query Snowflake <a href="#snowflake-app-etup-warehouse" id="snowflake-app-etup-warehouse"></a>

To run SQL queries against Snowflake tables that the app manages, the app requires a warehouse.

{% code overflow="wrap" %}

```sql
USE ROLE ACCOUNTADMIN; CREATE WAREHOUSE {YOUR_TEXTUAL_WAREHOUSE_NAME} WITH WAREHOUSE_SIZE='MEDIUM';
GRANT USAGE ON WAREHOUSE {YOUR_TEXTUAL_WAREHOUSE_NAME} TO APPLICATION TONIC_TEXTUAL;
```

{% endcode %}
