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 .

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.0-py3-none-win_amd64.whl (40.1 MB view details)

Uploaded Python 3Windows x86-64

compileiq-1.0.0-py3-none-manylinux_2_35_x86_64.whl (34.2 MB view details)

Uploaded Python 3manylinux: glibc 2.35+ x86-64

compileiq-1.0.0-py3-none-manylinux_2_35_aarch64.whl (33.0 MB view details)

Uploaded Python 3manylinux: glibc 2.35+ ARM64

File details

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

File metadata

  • Download URL: compileiq-1.0.0-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.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f107ac8e8c286f96b4ae74923f41738dd1d71bfd809c589a5942fdc8c2021e36
MD5 6d486fd768d88256b4e172cf0173655c
BLAKE2b-256 764ff06d3663a278ad2e30f43bba2fce4798ac024ce01e09b1611ab17a876da7

See more details on using hashes here.

File details

Details for the file compileiq-1.0.0-py3-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for compileiq-1.0.0-py3-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 8da729b1338d4ae4a590f1e9238e59868b8ff32604a8ca2bc1ee39908d644338
MD5 c428158d2385b45f05767351aba470e8
BLAKE2b-256 63ca59767f78f7cf3e7e0d092df138d52801b794fe3b53eb4282c24c2f6660ce

See more details on using hashes here.

File details

Details for the file compileiq-1.0.0-py3-none-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for compileiq-1.0.0-py3-none-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 62bf2060fce41948afbc377bc9a41cb7e6329e09458fddb8ca1480fec352477b
MD5 6f7fc059a3cb31d2101fd0becee0e106
BLAKE2b-256 7df8643b660712f1cc9f5dbd63a4f2e3ebecda020c91dad5c6127b25c2a275f6

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