Metadata-Version: 2.4
Name: compileiq
Version: 1.0.0rc4
Summary: Nvidia's Evolutionary Optimization Engine for tuning Nvidia compilers.
License-File: LICENSE
License-File: NOTICE
Author: nvidia.com
Requires-Python: >=3.11,<3.14
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: aiohttp (>=3.13.3,<4.0.0)
Requires-Dist: dill (>=0.4.0,<0.5.0)
Requires-Dist: json5 (>=0.14.0,<0.15.0)
Requires-Dist: loguru (>=0.7.2,<0.8.0)
Requires-Dist: msgpack (>=1.1.1,<2.0.0)
Requires-Dist: numpy (>=2.1.3,<3.0.0)
Requires-Dist: pandas (>=2.2.3,<3.0.0)
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
Requires-Dist: ray[default] (>=2.53.0,<3.0.0)
Requires-Dist: requests (>=2.32.5,<3.0.0)
Requires-Dist: tqdm (>=4.67.0,<5.0.0)
Requires-Dist: urllib3 (>=2.6.2,<3.0.0)
Project-URL: Documentation, https://github.com/NVIDIA/CompileIQ/blob/main/README.md
Project-URL: Repository, https://github.com/NVIDIA/CompileIQ
Description-Content-Type: text/markdown

# CompileIQ - Nvidia's Official Compiler HPO

CompileIQ is an evolutionary-based hyper-parameter optimizer tailored to tune our internal compiler controls.

## Quick install

You can either install through Pypi:

```bash
pip install compileiq
```

Or, build from the [repo](https://github.com/NVIDIA/CompileIQ) yourself:

```bash
pip install -e .
```

## Search Spaces

We provide curated search spaces under the `assets/` folder. These can be fed directly into CompileIQ or mixed with user-space for a co-tuning scenario.

## 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.

## 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:

```bash
python -m poetry install --with examples
```

