cubek-reduce 0.1.0

CubeK: Reduce Kernels
Documentation
# CubeK Reduce

Implements a wide variety of reduction algorithms across multiple instruction sets and hardware targets for efficient tensor reduction.

## Running Tests

### Important Environment Variables

Two environment variables control test execution behavior:

- `CUBEK_TEST_MODE`  
  Controls handling of tests that cannot run on the current hardware (e.g., due to missing support for certain algorithms).
  - `skip` (default): Skipped tests are silently ignored and reported as passed by the Rust test runner.
  - `verbose`: Skipped tests are reported with an explanation why they were skipped, but still marked as passed.
  - `panic`: Skipped tests cause a failure, printing the reason. The test run will show failures.  
    Useful for discovering which tests are being skipped on your hardware.

- `CUBEK_TEST_FULL`  
  Controls whether time-consuming tests are executed.
  - `0` (default): Long-running tests are skipped with an explanatory message.
  - `1`: All tests are run, including the longer ones.

### Important Feature Flags

The test suite can be run on different CubeCL runtimes by enabling the corresponding feature flag.

#### Examples

```bash
# Run all tests (including long ones) on the CUDA runtime, skipping unsupported tests silently
CUBEK_TEST_FULL=1 cargo test --features cubecl/cuda

# Run all tests on CUDA, failing on any unsupported tests (to see what is skipped)
CUBEK_TEST_MODE=panic CUBEK_TEST_FULL=1 cargo test --features cubecl/cuda

# Run tests on the WGSL (web GPU) runtime with verbose skipping
CUBEK_TEST_MODE=verbose cargo test --features cubecl/wgsl
```