Overview
We will implement a basic deep learning framework, miniTorch, which is capable of performing operations on tensors with automatic differentiation and necessary operators. miniTorch was originally developed by Prof. Sasha Rush for education purpose. We extend the original framework to support real cuda kernels and many other accelerations on GPUs.
MiniTorch Code files layout
minitorch/ # The minitorch source code
autodiff.py # Automatic differentiation implementation
cuda_kernel_ops.py # Connects Tensor backend with the CUDA kernels
tensor.py # Defines the Tensor class
tensor_data.py # Defines the TensorData class
used in the Tensor class
tensor_functions.py # Defines the functions
used in the Tensor class
tensor_ops.py # Defines the TensorBackend class
used in the Tensor class
src/
combine.cu # CUDA kernels implementation
project/
run_sentiment.py # Network and training codes for training for
the sentence sentiment classification task