Deployment to VMWare ESXi
To deploy the Phonexia Speech Platform 4 Virtual Appliance, you need these two
ZIP files, downloaded from Phonexia:
– Virtual Appliance ZIP file
– Licensed models ZIP file
Preparation: Enable PCI passthrough on the GPU
To enable PCI passthrough in VMWare ESXi on the GPU, follow these steps:
- Connect to your ESXi host via the web-based ESXi Host Client.
- In the Navigator tree, open the Host section and select Manage to open the ESXi host management.
- Then select the Hardware tab and choose PCI Devices to view a list of hardware devices installed in the host.
- Locate the GPU in the list of PCI devices and check that the
Passthrough column says "Active".
If it says "Capable", set the check box and click the ⇆ Toggle passthrough button to enable passthrough. If necessary, the ESXi host can be restarted using the Reboot host button.
Step 1: Import Virtual Appliance
- Extract the contents of the Speech Platform Virtual Appliance ZIP file.
- Connect to your ESXi host via the web-based ESXi Host Client.
- In the Navigator tree, select the Virtual Machines section and click on the Create / Register VM button to open the New virtual machine wizard.
- On the Select creation type page, select the Deploy a virtual machine from an OVF or OVA file option and click Next.
- On the Select OVF and VMDK files page, enter a name for the virtual
machine and select or drag and drop the extracted OVF and VMDK files:
speech-platform.vmware.ovf
speech-platform-disk001.vmdk
speech-platform-disk002.vmdk
and click Next - On the Select storage page, select the ESXi datastore where the virtual machine files should be stored and click Next.
- On the Deployment options page, select the network to be used by the virtual machine and clear the Power on automatically check box (additional settings changes must be done before starting the VM)
- On the Ready to complete page, review the settings and when satisfied,
click Finish and wait for the import to finish.
Watch the import progress in the Recent tasks pane on the bottom of the page and do NOT refresh the page during the import.
The imported virtual machine may be shown in the list with ⚠Warning status
and/or incorrect guest OS, therefore it's necessary to change some of the
virtual machine's settings before starting it.
Setting up a GPU passthrough also requires these additional settings.
-
Select the virtual machine and from the ⚙ Actions menu, select 📝 Edit settings item to open the settings dialog.
-
On the VM Options tab
- in the General Options section, set the Guest OS to "Linux" and the Guest OS Version to "Rocky Linux 64-bit".
Additional changes are required for GPU Passthrough:
-
(not strictly required for all GPUs, but recommended to set) Still on the VM Options tab
- in the Advanced section, click on Edit Configuration... and in
Configuration parameters dialog, click on Add parameter and
add the following keys and values (use capital letters where shown!)
keypciPassthru.use64bitMMIO
with the valueTRUE
keypciPassthru.64bitMMIOSizeGB
with the value of "total GB of framebuffer memory on all GPUs attached to the VM, rounded to the power of 2, and then doubled", e.g.
for 1 GPU with 12 GB, set (1 × 12 ≈ 16) × 2 =32
for 1 GPU with 16 GB, set (1 × 16) × 2 =32
for 3 GPU with 8 GB, set (3 × 8 ≈ 32) × 2 =64
then click OK to close the configuration parameters dialog.
- in the Advanced section, click on Edit Configuration... and in
Configuration parameters dialog, click on Add parameter and
add the following keys and values (use capital letters where shown!)
-
On the Virtual Hardware tab
- in the Memory section, set the Reserve all guest memory (All locked) check box.
- click on the Add another device menu button and select PCI device from the list, and then in the added New PCI device drop down, select the GPU device.
Click Save to save the virtual machine settings.
Step 2: Run Virtual Appliance
After you have imported and configured the setting of the virtual appliance, you can finally start it.
The console displays the boot log with various messages as startup tasks are completed. This typically takes several minutes.
When the system is fully up and running, the console shows a screen similar to this:
Rocky Linux 9.5 (Blue Onyx)
Kernel 5.14.0-503.14.1.e19_5-x86_64 on an x86_64
Welcome to Phonexia Speech Platform 3.7.0
.
.
.
speech-platform login:
Step 3: Upload licensed models and configure the platform
The virtual appliance distribution contains only the bare Speech Platform system. To actually breathe life into the system it's necessary to upload the licensed models to the appliance and configure the technologies.
These steps can be done either semi-automatically via the platform GUI, or manually via SSH access to the platform console.
- GUI (preferred)
- Console
The Virtual Appliance contains a Filebrowser tool, which simplifies some
management tasks like uploading the models and accessing and editing the
appliance configuration files.
The Filebrowser is accessible at
http://<virtual appliance IP address>/filebrowser
.
Open the Filebrowser and click on the upload icon in the top right corner, then
click on the "File" option, browse for the licensed models ZIP file
(licensed-models.zip
). A small pop-up window in the bottom right corner will
show the upload progress. You can also click on the up arrow to show the
graphical progress bar.
When the upload is finished (progress is at 100 %), Filebrowser automatically starts extracting the uploaded ZIP file and then runs the automatic configuration script. While these processes are executed, the upload progress pop-up remains visible at 100%, seemingly doing nothing — don't worry, this indicates that background tasks are still running.
When the the progress pop-up disappears, it means that the extraction and configuration is finished and the system is ready for use.
The automatic configuration detects which models and licenses were extracted from the ZIP file and automatically turns on the corresponding technologies and configures them to use the provided models, and also detects the hardware — if a GPU is present, it enables GPU processing.
Upload the licensed models to the appliance and configure the technologies from
the command line terminal using the following steps.
Use the default password InVoiceWeTrust
when asked.
- Upload the licensed models ZIP file from your host/client computer to the
virtual appliance via scp
(default SSH port is22
when using bridged networking, or usually2222
when using NAT):scp -P <virtual-appliance-port> licensed-models.zip root@<virtual-appliance-ip>:/data/
- Connect to the virtual appliance via SSH and change directory to
/data
:ssh root@<virtual-appliance-ip> -p <virtual-appliance-port>
cd /data - Extract the licensed models ZIP file. The included directory structure
ensures that all files are extracted to their proper locations.
unzip licensed-models.zip
- Finally, run the automatic configuration script:
/root/scripts/configure-speech-platform.sh --auto-configure
The automatic configuration detects which models and licenses were extracted from the ZIP file and automatically turns on the corresponding technologies and configures them to use the provided models, and detects the available hardware — if a GPU is present, it enables GPU processing.
After the configuration script finishes, depending on the provided technologies and models it may take up to several minutes to load the new configuration.