This paper shows how Convolutional Neural Networks (CNN) can be implemented in APL. Its first-class array support ideally fits that domain, and its operators facilitate rapid and concise creation of generically reusable building blocks. For our example, there are ten such blocks, expressed as ten lines of native APL code, free of explicit array indexing. Compositions of such APL abstractions are very useful for prototyping, particularly by domain experts whose primary interests lie outside of programming. The functional nature of operators provides a highly portable specification that is suitable for high-performance optimizations and parallel execution. We explain each CNN building block, and briefly discuss the performance of the resulting specification.
Sat 22 JunDisplayed time zone: Tijuana, Baja California change
10:00 - 11:00 | Session 2ARRAY at 106C Chair(s): Jeremy Gibbons Department of Computer Science, University of Oxford | ||
10:00 30mTalk | Convolutional Neural Networks in APL ARRAY A: Artjoms Šinkarovs Heriot-Watt University, UK, A: Robert Bernecky Snake Island Research, A: Sven-Bodo Scholz Heriot-Watt University | ||
10:30 30mTalk | Toward Generalized Tensor Algebra for ab initio Quantum Chemistry Methods ARRAY A: Erdal Mutlu Pacific Northwest National Laboratory, A: Karol Kowalski Pacific Northwest National Laboratory, A: Sriram Krishnamoorthy Pacific Northwest National Laboratories |