[Yandex Cloud documentation](../index.md) > [Yandex SpeechKit Hybrid](index.md) > System requirements

# System requirements

To install SpeechKit Hybrid, you need a Linux server with Docker Engine support. For a list of supported operating systems, see the [Docker official guide](https://docs.docker.com/engine/install/#server).

{% note warning %}

The CPU must support the [AVX2](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2) (Advanced Vector Extensions) instruction set.

{% endnote %}

On Linux, you can check whether your host supports AVX2 by running this command:

```bash
grep -q avx2 /proc/cpuinfo && echo AVX2 || echo No AVX2
```

## Hardware requirements for routing and licensing servers {#envoy-hardware-requirements}

Recommended hardware requirements for routing (Envoy) and licensing (License) servers. The number of CPUs and amount of RAM of such servers depend on the number and type of GPUs used on STT and TTS servers.

| GPU type | RAM per card, <br>GB | Physical CPUs<br>per card, pcs | Logical CPUs (vCPUs)<br>per card, pcs |
|---|---|---|---|
| NVIDIA® Tesla® L4 | 8 | 8 | 16 |
| NVIDIA® Ampere® A100 | 10 | 10 | 20 |
| NVIDIA® Tesla® H100 | 20 | 20 | 40 |

## Hardware requirements for STT and TTS servers {#hardware}

Below are the recommended hardware requirements for running SpeechKit Hybrid containers. The estimated values of SpeechKit Hybrid specifications are given for reference for the hardware with the NVIDIA 535 driver. The actual values may change after container updates and addition of new features.

The data in the tables is for the Russian language only, unless otherwise specified:

{% list tabs group=gpu_type %}

- Containers with the L4 GPU {#l4}

   | Operation mode | Guaranteed<br>SPS^1^ | RAM per card, <br>GB | HDD per card, <br>GB | Physical processor<br>cores<br>Intel Gold 6230R <br>per card, pcs | Logical cores <br>Intel Gold 6230R <br>per card, pcs |
   |---|---|---|---|---|---|
   | **Speech recognition** |
   | Streaming recognition | 66 | 64 | 200 | 8 | 16 |
   | Audio file recognition | 330 | 64 | 200 | 8 | 16 |
   | **Speech synthesis** |
   | Speech synthesis | 266 | 64 | 200 | 8 | 16 |

- Containers with the A100 GPU {#a100}

   | Operation mode | Guaranteed<br>SPS^1^ | RAM per card, <br>GB | HDD per card, <br>GB | Physical processor<br>cores<br>Intel Gold 6230R <br>per card, pcs | Logical cores <br>Intel Gold 6230R <br>per card, pcs |
   |---|---|---|---|---|---|
   | **Speech recognition** |
   | Streaming recognition | 245 | 64 | 200 | 14 | 28 |
   | Audio file recognition | 1,000 | 64 | 200 | 14 | 28 |
   | **Speech synthesis** |
   | Speech synthesis | 581 | 64 | 200 | 14 | 28 |

- Containers with the H100 PCI GPU {#h100}

   | Operation mode | Guaranteed<br>SPS^1^ | RAM per card, <br>GB | HDD per card, <br>GB | Physical processor<br>cores<br>Intel Gold 6230R <br>per card, pcs | Logical cores <br>Intel Gold 6230R <br>per card, pcs |
   |---|---|---|---|---|---|
   | **Speech recognition** |
   | Streaming recognition, Russian | 385 | 64 | 200 | 8 | 16 |
   | Streaming recognition, multi-lingual model | 245 | 64 | 200 | 8 | 16 |
   | Audio file recognition, Russian | 3,500 | 64 | 200 | 8 | 16 |
   | Audio file recognition with speaker labeling, Russian | 2,590 | 64 | 200 | 8 | 16 |
   | **Speech synthesis** |
   | Speech synthesis | 1,260 | 64 | 200 | 8 | 16 |

{% endlist %}

^1^ Seconds per second (SPS): Number of seconds of recognized or synthesized text per runtime second.

### Examples of hardware calculations for STT and TTS servers {#hardware-calculation}

The number of cards required for speech recognition or speech-to-text synthesis depends on the SPS value. Use the following formula for calculation:

{% list tabs %}

- Streaming recognition

   > User SPS = X × Y

   Where:

   * X: Conversation portion with recognition enabled. If you need to factor in interruptions, X = 1.
   * Y: Number of concurrent calls.

- Audio file recognition

   > User SPS = X / Y

   Where:

   * X: Duration of audio to recognize in seconds.
   * Y: Time required for audio recognition in seconds.

- Speech synthesis

   > User SPS = X × (Y / 10)

   Where:

   * X: Expected number of requests per second.
   * Y: Average request length in characters.

{% endlist %}

The number of cards is calculated as follows:

> User SPS / guaranteed card SPS

The resulting value is rounded up to the nearest integer.

To get the required amount of RAM, HDDs, and cores, multiply the table values by the number of cards.

## Software requirements {#software}

Your dedicated SpeechKit Hybrid server must have [NVIDIA LTS 535 drivers](https://www.nvidia.com/en-us/drivers/unix/) and [NVIDIA Container Toolkit 1.15](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) or higher. For more information about drivers, see [this official NVIDIA guide](https://docs.nvidia.com/datacenter/tesla/drivers/index.html#lifecycle). You do not need to install the CUDA Toolkit as it comes as part of SpeechKit Hybrid images.

To install and configure SpeechKit Hybrid services, you will need the Yandex Cloud CLI and a registry in Yandex Container Registry.

1. If you do not have the Yandex Cloud CLI yet, [install and initialize it](../cli/quickstart.md#install).
1. [Create a registry](../container-registry/operations/registry/registry-create.md) in Yandex Container Registry.

   The folder used by default is the one specified when [creating](../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

   ```bash
   yc container registry create --name speechkit-hybrid
   ```

   Result:

   ```text
   id: <registry_ID>
   folder_id: <folder_ID>
   name: speechkit-hybrid
   status: ACTIVE
   created_at: "<creation_date_and_time>"
   ```

1. [Create a service account](../iam/operations/sa/create.md) with the `editor` role for the selected folder.
1. [Create an API key](../iam/operations/authentication/manage-api-keys.md#create-api-key) for the service account.
1. Send the registry ID to the SpeechKit team. All required containers will appear in your registry, and you will get the `docker-compose.yaml` file with the deployment settings.