Skip to main content

CLI Options Reference

This reference documents the command-line options for the Hybridizer compiler and build satellite tools.

Hybridizer.exe

Main compiler executable.

Basic Options

Hybridizer.exe --input <assembly> --config <config.xml> --out <directory>
OptionDescriptionDefault
--input <path>Input .NET assembly (.dll/.exe)Required
--config <path>Configuration XML fileAuto-generated
--out <dir>Output directory./generated-sources
--flavor <name>Target backendCUDA

Backend Selection

FlavorDescription
CUDANVIDIA GPU (generates .cu files)
OMPOpenMP CPU multi-threading
AVXIntel/AMD AVX vectorization
AVX2AVX with integer extensions
AVX512512-bit vector instructions
NEONARM NEON vectorization
POWERIBM POWER VSX

Debug Options

Hybridizer.exe --input app.dll --line-info --debug-output
OptionDescription
--line-infoGenerate source line mapping
--debug-outputVerbose debug output
--trace-level <n>Trace verbosity (0-3)

Optimization Options

Hybridizer.exe --input app.dll --opt 3 --fast-math
OptionDescription
--opt <level>Optimization level (0-3)
--fast-mathAllow fast math approximations
--inline-threshold <n>Inlining depth limit

BuildSatelliteTask (MSBuild)

MSBuild task for Visual Studio integration.

<BuildSatelliteTask
DllFullPath="MyProject.dll"
ResultFileName="MyProject.CUDA.xml"
GenerateLineInformation="true"
GenerateHiddenStubs="true"
UseFunctionPointers="true"
WorkingDirectory="generated-sources"
Flavors="CUDA;AVX" />

Task Properties

PropertyTypeDescription
DllFullPathstringInput assembly path
ResultFileNamestringOutput config filename
GenerateLineInformationboolInclude debug line info
GenerateHiddenStubsboolGenerate internal stubs
UseFunctionPointersboolEnable function pointers
WorkingDirectorystringOutput directory
FlavorsstringSemicolon-separated backends
BuiltInFilesstringPath to builtin definitions

Environment Variables

VariableDescription
HYBRIDIZER_PATHInstallation directory
CUDA_PATHCUDA Toolkit location
HYBRIDIZER_CACHECache directory for generated code

Configuration File

The XML configuration file controls detailed processing:

<?xml version="1.0" encoding="utf-8"?>
<HybridizerMetaConfigFile>
<ConfigFile
DllFullPath="MyApp.exe"
GenerateLineInformation="true">

<HybridFlavor FlavorName="CUDA"
GenerateCWrapper="true" />

<HybridElements HybridType="MyClass">
<HybridizedMethod MethodName="Process" />
</HybridElements>

</ConfigFile>
</HybridizerMetaConfigFile>

See Compilation Pipeline for details.

Example Workflows

Generate CUDA Source

Hybridizer.exe \
--input MyProject.dll \
--flavor CUDA \
--out ./cuda-sources \
--line-info

Generate AVX for CI (No GPU)

Hybridizer.exe \
--input MyProject.dll \
--flavor AVX \
--out ./avx-sources

Full Build Pipeline

# Step 1: Build .NET
dotnet build -c Release

# Step 2: Generate CUDA
Hybridizer.exe --input bin/Release/MyProject.dll --flavor CUDA

# Step 3: Compile CUDA
nvcc -o libkernels.so generated-sources/*.cu -shared

# Step 4: Run
dotnet run

Next Steps