ACCFS (ACCelerator File System) establishes a common attach point for accelerators into the Linux kernel. Currently every vendor provides his own kernel interface, which differs to each other. This means different I/O controls for example.

ACCFS introduces a new abstraction layer inside the Linux kernel. This layer provides a consistent interface into the user-space. For hardware vendors ACCFS provides a special vendor interface, where device specific modules can be registered.

The main concepts of ACCFS are:

  • Virtualization of the accelerators: ACCFS abstracts physical accelerator with accelerator context. If it is possible, the vendor part will virtualize the accelerators.
  • Virtual File System (VFS) context access: A VFS is used to access the virtual context (or the physical device if the context is mapped to the hardware).
  • Separation of the interface and hardware management: The top half of ACCFS will only concentrate on providing the VFS interface and the bottom half on the vendor specific hardware integration.


The ACCFS project is performed in collaboration with the Center of Advanced Study IBM Böblingen, Development and Research, Germany.