No Saved Kaleidosope: an 100% Jitted Neural Network Coding Language with Pythonic Syntax
<|reference_start|>No Saved Kaleidosope: an 100% Jitted Neural Network Coding Language with Pythonic Syntax: We developed a jitted compiler for training Artificial Neural Networks using C++, LLVM and Cuda. It features object-oriented characteristics, strong typing, parallel workers for data pre-processing, pythonic syntax for expressions, PyTorch like model declaration and Automatic Differentiation. We implement the mechanisms of cache and pooling in order to manage VRAM, cuBLAS for high performance matrix multiplication and cuDNN for convolutional layers. Our experiments with Residual Convolutional Neural Networks on ImageNet, we reach similar speed but degraded performance. Also, the GRU network experiments show similar accuracy, but our compiler have degraded speed in that task. However, our compiler demonstrates promising results at the CIFAR-10 benchmark, in which we reach the same performance and about the same speed as PyTorch. We make the code publicly available at: https://github.com/NoSavedDATA/NoSavedKaleidoscope<|reference_end|>
@article{da rosa2024no,
    title={No Saved Kaleidosope: an 100% Jitted Neural Network Coding Language with
  Pythonic Syntax},
    author={Augusto Seben da Rosa, Marlon Daniel Angeli, Jorge Aikes Junior, Alef
  Iury Ferreira, Lucas Rafael Gris, Anderson da Silva Soares, Arnaldo Candido
  Junior, Frederico Santos de Oliveira, Gabriel Trevisan Damke and Rafael
  Teixeira Sousa},
    journal={arXiv preprint arXiv:2409.11600},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.11600},
    primaryClass={cs.PL cs.AI cs.LG}
}