Skip to content

Releases: zeratax/yacx

v0.6.2

28 Apr 00:23
1c7d310
Compare
Choose a tag to compare
v0.6.2 Pre-release
Pre-release

Changelog

Features

  • added a JNIExampleClasses cmake target to build all java examples
  • added a file with posix autocompletions for yacx.sh
  • add nix-shell file

if you're on nixos or using nix package manager you can now easily create an enviroment with cudatoolkit and jdk by just entering:

$ nix-shell

Bugfixes

  • multiple small issues with the CMakeLists
  • fix logger colors and newline issues

v0.6.1

08 Apr 17:23
bbf1212
Compare
Choose a tag to compare
v0.6.1 Pre-release
Pre-release

Changelog

Features

  • usage of dynamic shared memory
  • add JNI-example for execute c-code
  • add JNI-benchmarktests for gemm- and reducekernel

Changes

  • JNI
    • uses pinned memory
    • createHalfTransosed for convert float-matrix to halfs and transposes it
    • add example for execute c-code
    • fix typo libary -> library
  • fix compilerwarnings
  • host-code optimizations for faster kernellaunch

v0.6

07 Apr 19:54
e7c0ba5
Compare
Choose a tag to compare
v0.6 Pre-release
Pre-release

Changelog

Features

  • new static Devices class to easily filter devices
    • by name
    • by UUID
    • by lambda function
  • Logger
    • outputs in color
    • set logging levels/file output per command line, try with example_logger.cpp
      • --file=yacx.log: set file output
      • --log=DEBUG: set logging level

Changes

  • KernelTime has been refactored
    • every instance calculates effective bandwidth
      • up
      • down
      • total
    • overloaded << operator
  • Logger is now static
    • allows setting stream output to cerr or cout
    • additionally output log to file

v0.5

04 Mar 01:37
fd9f417
Compare
Choose a tag to compare
v0.5 Pre-release
Pre-release

Changelog

Features

  • C Executor
  • Benchmarking
    • can benchmark CUDA and even works with rise-lang/executor
    • KernelArgCreator to easily benchmark with different KernelArg inputs
  • more example Kernels
  • JNI
    • more java and scala examples
    • junits tests
    • KernelArg Outputs are instantly reusable as Inputs see #89
  • added sbt project file

Changes

  • JNI
    • exceptions in case of illegal arguments (e.g. NULL)
    • split up KernelArg-class into BooleanArg, ByteArg, ShortArg, IntArg, LongArg, HalfArg, FloatArg, DoubleArg and PaddingArg
      • PaddingArg helps to easily pad matrices to work more easily with e.g. TensorCores
      • HalfArg will convert a float array with a CUDA Kernel
    • Java files were moved to a proper package: src/{java=>main/java/yacx}/

v0.4.1

04 Mar 01:37
ae2b17a
Compare
Choose a tag to compare
v0.4.1 Pre-release
Pre-release

Changelog

Documentation

Changes

  • renamed (see #78)
    • Headers.{length=>numHeaders}
    • Options.{options=>content}
    • KernelArgs.m_{chArgs=>voArgs}
  • cleaned up repo
    • fixed workflows for pull requests
    • issue templates
    • updated README.md

v0.4

07 Dec 19:15
acffc51
Compare
Choose a tag to compare
v0.4 Pre-release
Pre-release

Changelog

Changes

  • rename project from cudaexecutor/cudacompiler to yacx - yet another cudaexecutor

v0.3

07 Dec 08:44
af47293
Compare
Choose a tag to compare
v0.3 Pre-release
Pre-release

Changelog

Features

  • KernelTime: measure time of kernel execution as well as uploading and downloading of KernelArgs
  • fully featured JNI
  • lots of java and scala examples
  • build and execute script for java/scala: cudaexecutor.sh

Changes

  • KernelArgs refactor
    • moved KernelArg uploading into KernelArgs

v0.2

03 Dec 01:07
15366cb
Compare
Choose a tag to compare
v0.2 Pre-release
Pre-release

Changelog

Features

  • c++ bindings
    • get devices
    • execute abitrary cuda kernels
    • template kernels
    • logging and exception for debugging
    • nvrtc option class
  • mostly replicated as a JNI

Changes

  • Classes renamed
    • ProgramArg => KernelArg
    • Program => Source
    • Kernel => Kernel, Program