Skip to content

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