github luigifcruz/CyberEther v1.0.0-alpha3
V1.0.0 (Alpha 3)

latest releases: v1.1.1, v1.1.0, v1.0.3...
2 years ago
image (2)

This is another alpha release of CyberEther with multiple bug fixes and quality-of-life improvements!

Featured

  • Initial CUDA support for the main blocks. Spoiler: It's fast!
  • Windows support is now at Alpha level.
  • Lots of quality-of-life improvements and bug fixes. Largest change-log yet!
  • Experimental Apple Silicon binary.

What's Changed

  • Fixes compiler warnings.
  • Adds tooltip information for detaching link (#42)
  • Adds automatic macOS build for the Apple Silicon.
  • Adds CUDA support for scheduler using NVRTC via Just In Time compilation.
  • Cleans header imports.
  • Adds locality methods host_native and device_native in TensorBuffer.
  • Adds Tensor interoperability from CPU to CUDA, and CUDA to CPU.
  • Adds Memory::Copy for contiguous Tensors from CUDA, CPU, and Metal.
  • Refactors Amplitude, Lineplot, Waterfall, and Spectrogram modules to use pimpl.
  • Implements CUDA backend for FFT, Amplitude, Lineplot, Waterfall, and Spectrogram modules.
  • Improves backend context sharing with module.
  • Removes Node ID from block drop down.
  • Implements CUDA to Vulkan interoperability with zero-copy Tensor sharing.
  • Creates ConvertToOptimalStorage method to facilitate zero-copy data sharing between compute and present.
  • Creates MapOn method for quick Tensor interoperability.
  • Removes Hello World example in favor of the Custom Interface example.
  • Bumps minimal CUDA version to >=11.7.
  • Adds shader based interpolation for Spectrogram module.
  • Improves CPU backend performance in Lineplot module.
  • Adds frame queue lock while unbinding and binding surfaces.
  • Refactors Instance API with new start and stop methods.
  • Fixes FFT forward and inverse mapping with Metal backend.
  • Disables Metal support on Intel-based Macs automatically.
  • Adds further clarification about Intel-based compatibility (#65)
  • Adds TensorCircularBuffer and Juggler utilities to the memory namespace.
  • Refactors instance method buildInterface into build with struct-based arguments.
  • Removes remaining std::span includes.
  • Fixes waterfall and spectrogram block overlap in spectrum analyzer example flowgraph.
  • Fixes bug in compositor block resize logic that caused unwanted resizing during initialization.
  • Fixes block coordinates export from systems with different scaling (#66)
  • Fixes bug while deactivating a Soapy stream.
  • Fixes Filter Taps block crash when zero heads (#68)
  • Patches Note block markdown occlusion issue (#67)
  • Adds data locality metadata to Tensor tooltip.
  • Creates Duplicate module and block to copy Tensors.

Known Issues

  • The output of a CUDA-backed block can't be connected to a CPU-backed block.
    • Fix expected in the next alpha release.
  • No Intel-based macOS binary available for this release.
    • GitHub Actions is a bit flaky with macOS but this should be solved in the next release.

Full Changelog: v1.0.0-alpha2...v1.0.0-alpha3

Running

Warning

CyberEther is in Alpha. Expect bugs, missing features, and breaking changes.

It's recommended to build it from the source. The complete install instructions are available in the README. If you don't want to do that, try using the binaries below. For macOS and Linux, you will need to install the runtime dependencies described in the README for your system for the binaries to work. Future releases will package dependencies together with the binary.

Don't miss a new CyberEther release

NewReleases is sending notifications on new releases.