CUDA-Demux is an open-source tool for demultiplexing Illumina BCL files into FASTQ format, optimized with CUDA for GPU acceleration. Process your sequencing data faster with parallel barcode matching and multi-threaded parsing.
Features
GPU Acceleration
Leverage CUDA for parallel barcode matching and processing
High Performance
Multi-threaded BCL parsing with optimized I/O operations
NovaSeqX Support
Full support for NovaSeqX CBCL format with interleaved data
Flexible Output
Generate standard FASTQ files compatible with downstream tools
Performance
CUDA-Demux processes BCL files significantly faster than CPU-only solutions:
- Up to 10x faster barcode matching with GPU acceleration
- Parallel processing of multiple tiles
- Optimized memory management for large datasets
- Support for both BCL and CBCL file formats
Downloads
Latest stable release: v1.0.1
Installation
Package Installation
Debian/Ubuntu
# Download the .deb package from above, then install:
wget https://github.com/mmorri/cuda-demux/releases/download/v1.0.1/cuda-demux_1.0.1_amd64.deb
sudo apt install ./cuda-demux_1.0.1_amd64.deb
# Or using dpkg:
sudo dpkg -i cuda-demux_1.0.1_amd64.deb
sudo apt-get install -f # Install dependencies if needed
Fedora/RHEL/CentOS
# Download the .rpm package from above, then install:
wget https://github.com/mmorri/cuda-demux/releases/download/v1.0.1/cuda-demux-1.0.1-1.x86_64.rpm
sudo dnf install ./cuda-demux-1.0.1-1.x86_64.rpm
# Or using yum (older systems):
sudo yum install ./cuda-demux-1.0.1-1.x86_64.rpm
Prerequisites
- NVIDIA GPU with compute capability 5.2+
- CUDA Runtime 11.0 or later
- zlib (usually pre-installed)
- OpenMP runtime (usually pre-installed)
Build from Source
# Clone the repository
git clone https://github.com/mmorri/cuda-demux.git
cd cuda-demux
# Create build directory
mkdir build && cd build
# Configure and build
cmake ..
make -j$(nproc)
# Optional: Install system-wide
sudo make install
Usage
Basic Command
cuda-demux --input /path/to/bcl --output /path/to/fastq --sample-sheet sample.csv
Command Line Options
Example with Options
cuda-demux \
--input /data/sequencing/run_001 \
--output /results/fastq \
--sample-sheet samples.csv \
--threads 16 \
--gpu-device 0 \
--mismatches 2
Contributing
Contributions are welcome! Please feel free to submit issues, feature requests, and pull requests on our GitHub repository.