libc for GPUs¶

Note

This feature is very experimental and may change in the future.

The GPU support for LLVM’s libc project aims to make a subset of the standard C library available on GPU based accelerators. Navigate using the links below to learn more about this project.

  • Building libs for GPUs
    • Building the GPU C library
      • Standard runtimes build
      • Runtimes cross build
      • Standalone cross build
    • Build overview
    • CMake options
  • Using libc for GPUs
    • Using the GPU C library
      • Offloading usage
        • OpenMP Offloading example
      • Direct compilation
        • Building for AMDGPU targets
        • Building for NVPTX targets
  • Supported Functions
    • ctype.h
    • string.h
    • strings.h
    • stdbit.h
    • stdlib.h
    • inttypes.h
    • stdio.h
    • time.h
    • assert.h
  • Remote Procedure Calls
    • Remote Procedure Call Implementation
      • Client Example
      • Server Example
      • CUDA Server Example
      • Extensions
  • Testing the GPU C library
    • Testing infrastructure
    • Testing utilities
      • Startup object
      • Loader runtime
    • Running tests
  • Motivation and Limitations
    • Motivation
    • Limitations

libc

Navigation

Using

  • Usage Modes
  • Overlay Mode
  • Fullbuild Mode
  • Configure Options
  • libc for GPUs
    • Building libs for GPUs
    • Using libc for GPUs
    • Supported Functions
    • Remote Procedure Calls
    • Testing the GPU C library
    • Motivation and Limitations

Status

  • Implementation Status
  • C23 Support

Support

  • Architecture Support
  • Platform Support
  • Compiler Support

Development

  • Building and Testing the libc
  • Developer Guides
  • Bringup on a New OS or Architecture
  • Contributing to the libc Project
  • Talks

External Links

  • Source Code
  • Bug Reports
  • Discourse
  • Join the Discord
  • Discord Channel
  • Buildbot

Related Topics

  • Documentation overview
    • Previous: Configure Options
    • Next: Building libs for GPUs

Quick search

©2011-2024, LLVM Project. | Powered by Sphinx 7.2.6 & Alabaster 0.7.16 | Page source