Skip to content

Data Transfer Functionalities across Backends for Machine Learning Applications

License

Notifications You must be signed in to change notification settings

LuxDL/MLDataDevices.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MLDataDevices

Join the chat at https://julialang.zulipchat.com #machine-learning Latest Docs Stable Docs

CI Buildkite codecov Aqua QA

ColPrac: Contributor's Guide on Collaborative Practices for Community Packages SciML Code Style

MLDataDevices.jl is a lightweight package defining rules for transferring data across devices. It is used in deep learning frameworks such as Lux.jl and Flux.jl.

Currently we provide support for the following backends:

  1. CPUDevice: for CPUs -- no additional packages required.
  2. CUDADevice: CUDA.jl for NVIDIA GPUs.
  3. AMDGPUDevice: AMDGPU.jl for AMD ROCM GPUs.
  4. MetalDevice: Metal.jl for Apple Metal GPUs. (Experimental)
  5. oneAPIDevice: oneAPI.jl for Intel GPUs. (Experimental)
  6. XLADevice: Reactant.jl for XLA Support. (Experimental)

Updating to v1.0

  • Package was renamed from LuxDeviceUtils.jl to MLDataDevices.jl.
  • Lux(***)Device has been renamed to (***)Device.
  • Lux(***)Adaptor objects have been removed. Use (***)Device objects instead.