Komputation v0.7.10

  • Renamed CUDA environment to CUDA context
  • Added a method to destroy a CUDA context
  • CudaNetwork creates a cuBLAS handle in addition to setting up the CUDA context. The handle is passed on to build instructions.
  • Replaced cuBLAS memory function wrappers with CUDA primitives
  • Moved a helper function used to compile and load kernels to a separate function to make it reusable.
  • The shared memory size is now a required parameter in the launchKernel function and needs to be specified in bytes.
  • Loss tracking is now optional in CudaNetwork.
  • Cached pointers to targets
  • Reduced the instantiation of kernel parameter pointers
  • Separated biased and unbiased cuBLAS-based projection into two functions
  • Added and tested a CUDA-based implementation of the projection layer
  • Two separate kernels have been implemented for biased und unbiased CUDA-based projection.
  • Introduced an accumulation kernel that is used for backpropagation w.r.t. the input in CudaProjectionLayer
  • CudaProjectionLayer is used in the CUDA build for the projection layer instruction.
  • Renamed CublasUpdateRule to CudaUpdateRule
  • Switched from cuBLAS-based stochastic gradient descent to a CUDA implementation
  • Organized kernels into subdirectories
  • Removed the unsigned qualifier from kernels
  • Renamed BaseForwardLayer to BaseCpuForwardLayer
  • Added training time measurement in Network
  • Added ProvidedInitialization to initialize parameters with a given array of entries
  • Mentioned ProvidedInitialization in the README