Skip to content
This repository was archived by the owner on Feb 4, 2026. It is now read-only.

brain4j-org/metal4j

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metal4J


⚠️ Warning

This project is no longer in development and has been replaced by Silicon.


Metal4J provides pure Java bindings for Apple’s Metal API, built on top of the Foreign Function & Memory (FFM) API introduced in Java 22 and stabilized in Java 25. It enables GPU programming on macOS directly from Java.

Features

  • Implemented entirely in Java, no JNI dependencies
  • Uses the stable Foreign Function & Memory API (Java 25). No JNI
  • Wrappers for key Metal objects: MTLDevice, MTLBuffer, MTLCommandQueue, MTLLibrary, MTLFunction, MTLPipeline, MTLCommandBuffer, MTLEncoder
  • Designed to be as close as possible to native Metal

Requirements

  • macOS 13 or newer (Metal supported natively)
  • Java 22 or later
  • Gradle or Maven build tool

Roadmap

  • Device handling
  • Command queues
  • Buffers
  • Multiple device integration
  • Pre-compiled kernel support

Documentation

Contributing

Contributions, issues, and pull requests are welcome. Please open an issue to discuss major changes before submitting a PR.

License

Metal4J is licensed under the Apache License, Version 2.0.

About

Java bindings for Apple's Metal API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published