Convolutional neural networks in APL

Artjoms Šinkarovs, Robert Bernecky, Sven-Bodo Scholz

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Citations (Scopus)

Abstract

This paper shows how a Convolutional Neural Network (CNN) can be implemented in APL. Its first-class array support ideally fits that domain, and the operations of APL facilitate rapid and concise creation of generically reusable building blocks. For our example, only ten blocks are needed, and they can be expressed as ten lines of native APL. All these blocks are purely functional, and they are built out of a small number of builtin operators, resulting in a highly portable specification that is immediately runnable and should be suitable for high-performance optimizations and parallel execution. This implies that APL can be seen as a framework to define shallowly-embedded machine learning DSLs without any external dependencies, making them useful at least for experiments and prototyping. We explain the construction of each CNN building block, and briefly discuss the performance of the resulting specification.

Original languageEnglish
Title of host publicationProceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming
EditorsJeremy Gibbons
PublisherAssociation for Computing Machinery
Pages69-79
Number of pages11
ISBN (Electronic)9781450367172
DOIs
Publication statusPublished - 8 Jun 2019
Event6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming 2019 - Phoenix, United States
Duration: 22 Jun 201922 Jun 2019

Conference

Conference6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming 2019
Abbreviated titleARRAY 2019
Country/TerritoryUnited States
CityPhoenix
Period22/06/1922/06/19

Keywords

  • APL
  • Arrays
  • CNN
  • DSL
  • Neural networks

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Convolutional neural networks in APL'. Together they form a unique fingerprint.

Cite this