Skip to main content

Crate gpu_scatter_gather

Crate gpu_scatter_gather 

Source
Expand description

GPU Scatter-Gather Wordlist Generator

The world’s fastest wordlist generator using GPU acceleration.

§Core Innovation

Instead of sequential odometer iteration (like maskprocessor), this uses direct index-to-word mapping via mixed-radix arithmetic on the GPU:

Index → Mixed-Radix Decomposition → Word

This enables:

  • Massively parallel generation (every thread works independently)
  • O(1) random access to any position in the keyspace
  • Perfect GPU utilization with coalesced memory access
  • 500M-1B+ words/second throughput (3-7x faster than maskprocessor)
  • Multi-GPU support for linear scaling (v1.1.0+)

§Example Usage

use gpu_scatter_gather::{WordlistGenerator, Charset};

let mut generator = WordlistGenerator::builder()
    .charset(1, Charset::from("abc"))
    .charset(2, Charset::from("123"))
    .mask(&[1, 2, 1, 2])  // Pattern: ?1?2?1?2
    .build()?;

// Generate wordlist
for word in generator.iter() {
    println!("{}", String::from_utf8_lossy(&word));
}

Re-exports§

pub use charset::Charset;
pub use keyspace::calculate_keyspace;
pub use keyspace::index_to_word;
pub use mask::Mask;

Modules§

bindings
Output bindings for different consumption patterns
charset
Charset management for wordlist generation
ffi
C Foreign Function Interface (FFI) layer
gpu
GPU acceleration module using CUDA
keyspace
Keyspace calculation and index-to-word conversion
mask
Mask pattern parsing and management
multigpu
Multi-GPU context management
transpose
SIMD-optimized matrix transpose for column-major to row-major conversion

Structs§

WordlistGenerator
Main wordlist generator
WordlistGeneratorBuilder
Main wordlist generator builder
WordlistIterator
Iterator over wordlist entries