Skip to main content

NVIDIA compiler control optimization engine.

Project description

CompileIQ - NVIDIA Compiler HPO

CompileIQ is a hyperparameter optimizer for tuning NVIDIA compiler controls and application parameters.

Quick install

You can either install through PyPI:

pip install compileiq

Or, build from the repo yourself:

pip install -e .

Supported platforms

CompileIQ supports Python 3.11, 3.12, and 3.13. Published wheels include the bundled CompileIQ core for Linux x86_64, Linux aarch64, and Windows amd64.

Linux wheels target glibc 2.34 or newer and are tagged manylinux_2_34. See the installation guide for Linux runtime library requirements and Windows runtime notes.

Search Spaces

CompileIQ can retrieve curated compiler search spaces from GitHub release assets and cache them locally. Use PtxasSearchSpace or NvccSearchSpace to select a compiler, compiler version, and optional variant:

from compileiq.search_spaces.compilers import PtxasSearchSpace

search_space = PtxasSearchSpace(version="13.3", variant="att")

For reproducible runs, pin a search-space release tag:

search_space = PtxasSearchSpace(version="13.3", tag="search-spaces-2026.05.05")

Set CIQ_SEARCH_SPACES_DIR to use a local mirror containing manifest.json plus the referenced .bin files. Set CIQ_SEARCH_SPACES_REPO to test or use a different release repository.

Environment Configuration Options

Environment Variable Default Value Type Description
CIQ_SOCKET_TIMEOUT 20 int Controls how long CompileIQ waits for a core response. If you experience timeouts because your search space is too big, consider increasing this value.
CIQ_KEEP_CACHE False bool If set to True, .cache files will not be deleted.
CIQ_PROCESS_MODE "forkserver" str Start method for process-based workers. Set to "fork" for tighter process separation when threads are involved. IsoMultiProcessWorker defaults to "fork" independently.
CIQ_SEARCH_SPACES_DIR unset path Reads compiler search-space manifest.json and .bin files from a local mirror instead of GitHub.
CIQ_SEARCH_SPACES_REPO NVIDIA/CompileIQ str GitHub repository used for search-space release lookups, useful for staging or a future dedicated asset repo.

Examples

The examples/ folder has simple examples for you to get started on using CompileIQ.

If you are planning on running examples, you may need additional dependencies:

python -m poetry install --with examples

Documentation development

Install the docs dependencies once:

make install-docs

To preview uncommitted documentation edits from your live worktree:

make docs-preview

Then open http://localhost:8000/main/.

If port 8000 is already in use, stop the existing local docs server first.

Use make docs or make docs-serve when you need to test the multiversion documentation shape used by GitHub Pages. Those commands build from Git refs, so they are not the right choice for checking dirty worktree edits before commit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

compileiq-1.0.1-py3-none-win_amd64.whl (40.1 MB view details)

Uploaded Python 3Windows x86-64

compileiq-1.0.1-py3-none-manylinux_2_34_x86_64.whl (34.1 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

compileiq-1.0.1-py3-none-manylinux_2_34_aarch64.whl (32.9 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

File details

Details for the file compileiq-1.0.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: compileiq-1.0.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 40.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for compileiq-1.0.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 24834a166ab72d39cebbcdaf80b3c99a40d5552c028739581a98b5420de3d354
MD5 4f9b126a17caad7377a5996ed876e7f8
BLAKE2b-256 bb849eb885667d5b943377ac4fa277dd1a9d523b578b7b3b76f38953d3218a75

See more details on using hashes here.

File details

Details for the file compileiq-1.0.1-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for compileiq-1.0.1-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e2baa9f236248ddc302f8e2f5c4b0ea0a188eb24c948dbf66a168aa80e951895
MD5 a0cc346dbcb195f87a4a8c01dec531a7
BLAKE2b-256 8258988323f273aa1766faf012a44cfa752606a089fcc0b5dac87da90dfec855

See more details on using hashes here.

File details

Details for the file compileiq-1.0.1-py3-none-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for compileiq-1.0.1-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 930f1ef062643e615a826dacd35450bcce44b0c7ec5b657e2e578916e3a8d76c
MD5 acc655a79e96e40b5ee39564c47dda7d
BLAKE2b-256 8d834e0d0e77e50ebd3b1bb475e6931a2f5b1571625dd88d2f49b52d55dad9b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page