technologybriefs
10:16in productionCh. 1 · Proprietary by design/ 10:16 · ceiling 15 min
Systems · Software

CUDA

2007

CUDA didn’t democratise GPU computing—it weaponised it for Nvidia’s lock-in.

CUDA is a proprietary platform that turns Nvidia GPUs into general-purpose compute devices. It works by exposing GPU parallelism through two layered APIs and managing CPU-GPU data movement. It supports multiple languages and interops with OpenMP and OpenCL—but only on Nvidia hardware, from the G8x series onward. It changes the role of the GPU permanently, but at the cost of vendor lock-in and architectural rigidity. It is worth your time only if you are committed to Nvidia’s stack and need maximum performance on its hardware.

Chapters & takeaways6
  1. 1:05
    Proprietary by design

    CUDA is not an open standard—it is Nvidia’s proprietary gatekeeper for GPU compute.

  2. 2:14
    Two APIs, one stack

    It splits control between low-level driver access and high-level runtime abstraction—giving power at the cost of complexity.

  3. 3:23
    Hardware-bound

    CUDA only works on Nvidia GPUs from the G8x series onward—no AMD, no Intel, no fallback.

  4. 4:34
    Interoperability without parity

    It supports multiple languages and frameworks—but only as guests on Nvidia’s platform, never as peers.

  5. 5:48
    Launch-day constraints

    The SDK went public on 15 February 2007 for Windows and Linux—no macOS, no embedded, no legacy OS support.

  6. 6:58
    A four-year pivot

    Built in 2004, released in 2007—this was not a reaction to demand, but a multi-year bet on GPU-as-CPU.

Worth your time?

Yes. Study the whole thing.

4/ 5
What works
  • exposes GPU parallelism to general-purpose code
  • supports multiple host languages
  • interoperates with OpenMP and OpenCL on compatible hardware
What does not
  • run on non-Nvidia GPUs
  • abstract away architecture-specific optimisations
  • provide cross-vendor portability
Study it if
  • developers targeting Nvidia GPUs for HPC or AI workloads
  • teams already invested in Nvidia’s ecosystem
Skip it if
  • developers requiring portable GPU code
  • those working exclusively on AMD or Intel discrete GPUs
The written brief1 min read

What it is and the problem it solves

CUDA is a proprietary parallel computing platform that solves the problem of general-purpose computation on GPUs. Before CUDA, GPUs could only be programmed via graphics APIs like OpenGL or DirectX, limiting their use to rendering tasks.

How it works

CUDA exposes GPU parallelism through two APIs: a low-level Driver API and a higher-level Runtime API. It manages data movement between CPU and GPU memory, enabling direct access to both. It is written in C but integrates with C++, Fortran, Python, and Julia.

What works

CUDA enables developers to write kernels in familiar languages and launch them on Nvidia GPUs from the G8x series onward—including GeForce, Quadro, and Tesla. It interoperates with OpenMP, OpenACC, and OpenCL on CUDA-powered hardware.

What does not

CUDA does not run on non-Nvidia GPUs. It does not abstract away GPU architecture differences across generations. It does not provide portability to OpenCL or OpenMP implementations—interop is one-way support, not equivalence.

What it changes

CUDA redefines the GPU from a fixed-function graphics co-processor into a programmable compute device. It establishes Nvidia’s dominance in accelerated computing by creating a proprietary, high-friction, high-reward development stack.

Is it worth your time

Yes—if you are developing compute-intensive software on Nvidia hardware and need fine-grained control over GPU execution. It demands learning GPU memory models and thread hierarchies, and locks you into Nvidia’s ecosystem.

Same field · Systems4 of 157
Up next in Technology

Objective-C

1984 · 8:34

Objective-C didn’t bring objects to C—it brought uncertainty to the call stack.

8:34