Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 9/29/2025
Public
Document Table of Contents

4.1.35.2. rpc::create_kube_compute_spec (::quartus::rpc)

The following table displays information for the rpc::create_kube_compute_spec Tcl command:

Tcl Package and Version

Belongs to ::quartus::rpc

Syntax rpc::create_kube_compute_spec [-h | -help] [-long_help] [-exe <quartus_sta|quartus_cdb|quartus_sh> ] [-exe_options <exe_options> ] [-id <id> ] [-active_deadline_seconds <active_deadline_seconds> ] [-cpu_request <cpu_request> ] [-cpus <cpus> ] [-create_service_account <create_service_account> ] [-do_not_delete_pod <do_not_delete_pod> ] [-env <env> ] [-image <image> ] [-initial_work_dir <initial_work_dir> ] [-keep_manifest_files <keep_manifest_files> ] [-kubeconfig <kubeconfig> ] [-kubectl <kubectl> ] [-lm_license_file <lm_license_file> ] [-memory <memory> ] [-memory_reservation <memory_reservation> ] [-namespace <namespace> ] [-node_name <node_name> ] [-node_selector <node_selector> ] [-pull_policy <always|ifnotpresent|never> ] [-remote_cluster <remote_cluster> ] [-service_account <service_account> ] [-ttl_seconds_after_finished <ttl_seconds_after_finished> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-exe <quartus_sta|quartus_cdb|quartus_sh> Executable to open the project with. Dictates the packages and commands that will be available to run.
-exe_options <exe_options> List of options to pass to executable.
-id <id> Identifier used to refer to a unique compute specification.
-active_deadline_seconds <active_deadline_seconds> Set the a time limit in seconds the job is allowed to work. The job will terminate if it does not finish in the specified time. Default is 86400 seconds or 1 day
-cpu_request <cpu_request> Specify number of cpus required. Specify as decimal. Default is 2. A low number gets a job scheduled. Once assigned to node, if more cpu resources available it can use more cpus up to the cpu limit specified
-cpus <cpus> Limit on number of cpus to use. Specify as decimal. Default is 2
-create_service_account <create_service_account> Set to on to create Kubernetes Service Account with the name quartus-dse on the specified namespace and create quartus-dse role to allow verbs create, get, and delete on jobs, pods, pods/log and events and bind it to the service account.
-do_not_delete_pod <do_not_delete_pod> Set to on to not delete the pod from the cluster after it terminates. This can be used to diagnose problems
-env <env> Comma-separated list of name=value environment variables to pass to job
-image <image> Container Image with Quartus installed
-initial_work_dir <initial_work_dir> Initial working directory on remote host. The remote host will start in this directory.
-keep_manifest_files <keep_manifest_files> Set to on to keep the Kubernetes manifest json files that Design Space Exploration creates. This can be used to diagnose problems
-kubeconfig <kubeconfig> Specify the kubeconfig file used to login to the Kubernetes cluster
-kubectl <kubectl> Specify the full path to the kubectl executable. Default is kubectl and assumes it is the PATH
-lm_license_file <lm_license_file> LM_LICENSE_FILE environment setting
-memory <memory> Memory limit. Specified as <value><unit>. Units can be Gi and Mi. Example 32Gi
-memory_reservation <memory_reservation> Memory request. Minimal memory required. If more memory is available, it will use up to the memory limit. Specified as <value><units>. Units can be Gi and Mi. Example 32Gi
-namespace <namespace> The Kubernetes cluster namespace to operate in
-node_name <node_name> Specify the node that will run exploration. Leave blank to let Kubernetes auto schedule node
-node_selector <node_selector> Specify a comma separated list of label=value pairs to select node
-pull_policy <always|ifnotpresent|never> Specify Image Pull Policy. Select Always to pull if image has been updated.
-remote_cluster <remote_cluster> Set to on if this machine is outside of the Kubernetes cluster and does not share a network
-service_account <service_account> Specify the Kubernetes Service Account to use. This account should enable permissions for create, get, and delete on jobs, pods, pods/log and events. If Service Account is not specified, DSE will create one with the required permissions.
-ttl_seconds_after_finished <ttl_seconds_after_finished> Set the time the job records stays in Kubernetes after it finishes in seconds. The TTL-after-finished controller in Kubernetes will cleanup the job if a time is specified
Description
Defines a compute specification that causes background Quartus
Prime software instances to execute through Kubernetes.

Use the following options to configure the Kubernetes settings:
 * -resource_requirements
 * -queue
 * -initial_work_dir
 * -env
 * -local_remote_path_map
 * -priority
 * -output_file
 * -error_file
 * -processor_limit

The "-exe" option specifies the Quartus Prime executable to run.
The supported options are quartus_sta, quartus_cdb, and quartus_sh.

The "-exe_options" option specifies any options passed to the
executable that is specified with the "-exe" option.

The "-quartus_rootdir" option specifies the directory location of the
desired Quartus Prime software installation. This is the root directory
of the software installation, not the bin directory.

The "-lm_license_file" option specifies the LM_LICENSE_FILE value
that will be passed to the Quartus Prime software executable. If you
don't know the value, look in the Tools > License Setup dialog in
the Quartus Prime software GUI.
Example Usage
    rpc::create_kube_compute_spec -exe quartus_sta
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful