Skip to content

PelemayBackend: A memory-saving, fault-tolerant and distributed collection of Nx compilers and backends for embedded systems.

License

Notifications You must be signed in to change notification settings

zeam-vm/pelemay_backend

Repository files navigation

Pelemay Backend (Collection)

A memory-saving, fault-tolerant and distributed collection of Nx compilers and backends for embedded systems.

This repository currently holds the following projects:

Backends:

  • PelemayBackend (WIP) - A memory-saving, fault-tolerant and distributed collection of Nx compilers and backends for embedded systems.
  • LoggingBackend (WIP) - A backend to log the behavior of the specified based_backend.

Utilities:

  • BackendDecorator (WIP) - A backend generator to decorate the specified based_backend with the functions before and after a set of functions in the backend. The set can be specified with the style of AspectJ, which is an AOP language, and with grouping written in hexdocs of Nx, for example, Aggregates, Backend, Conversion, and so on.
  • NodeActivator Hex.pm Elixir CI (NodeActivator) status - A module to activate VM nodes.
  • SpawnCoElixir Hex.pm Elixir CI (SpawnCoElixir) status - SpawnCoElixir spawns cooperative Elixir nodes that are supervised.
  • HttpDownloader Hex.pm Elixir CI (HttpDownloader) status - Downloads remote file with progress bar.

Benchmarks:

Each has their own README, which you can access above to learn more.

Supported Erlang/OTP and Elixir versions:

Supported Erlang/OTP and Elixir versions:

  • OTP: 25, 26, 27
  • Elixir: 1.16, 1.17, 1.18

Supported Platforms

Tested Platforms by CI:

  • Ubuntu 22.04, 24.04

Other manually tested platforms:

  • macOS 14 Sonoma (Apple Silicon and x86_64)
  • groovEPIC

Not tested by CI:

  • macOS 13 Ventura and 12 Monterey (Apple Silicon and x86_64)

Temporally not tested by CI of Nerves:

  • rpi4
  • rpi3a, rpi3, rpi2, rpi0, rpi
  • bbb
  • osd32mp1
  • npi_imx6ull
  • grisp2
  • mangopi_mq_pro

Temporally unsupportted:

  • Windows 2022

License

Copyright (c) 2023 University of Kitakyushu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Acknowledgement

This work was supported by Asahi Kohsan Group Research Support Program of Kitakyushu Foundation for the Advancement of Industry Science and Technology (FAIS).

About

PelemayBackend: A memory-saving, fault-tolerant and distributed collection of Nx compilers and backends for embedded systems.

Topics

Resources

License

Stars

Watchers

Forks