mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-01-24 14:28:09 -05:00
* LLVM JIT * Autogen LLVM * Update autogen * Move things around * even more non-determinism * windows * more autogen weirdness * more windows stuff * blind windows development try 2 * more blind windows development * even more blind windows development * maybe i should just set up a windows vm... * why can't everyone just use sysv abi? * cleanup debugging stuff * unused import * icache flushing isn't required on x86 * merge jit_nt and jit_unix * more * Temporary hack to not segfault * better error * bad conflict resolution * Attempt to simplify support/llvm.py * More refactoring --------- Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com>
1.7 KiB
1.7 KiB
Runtimes
tinygrad supports various runtimes, enabling your code to scale across a wide range of devices. The default runtime can be automatically selected based on the available hardware, or you can force a specific runtime to be default using environment variables (e.g., CLANG=1).
| Runtime | Description | Requirements |
|---|---|---|
| NV | Provides acceleration for NVIDIA GPUs | Ampere/Ada series GPUs |
| AMD | Provides acceleration for AMD GPUs | RDNA2/RDNA3 series GPUs |
| QCOM | Provides acceleration for QCOM GPUs | 6xx series GPUs |
| METAL | Utilizes Metal for acceleration on Apple devices | M1+ Macs; Metal 3.0+ for bfloat support |
| CUDA | Utilizes CUDA for acceleration on NVIDIA GPUs | NVIDIA GPU with CUDA support |
| GPU (OpenCL) | Accelerates computations using OpenCL on GPUs | OpenCL 2.0 compatible device |
| CLANG (C Code) | Runs on CPU using the clang compiler | clang compiler in system PATH |
| LLVM (LLVM IR) | Runs on CPU using the LLVM compiler infrastructure | llvm libraries installed and findable |