Data processing is revolutionising all disciplines. Ability to swiftly adapt to experimental and technical requirements is essential in today's highly dynamic environment. We will cover i40 highlight areas and train on separate compilation model project setup, intermediate (level CS-600) C++ and a neuromorphic software example (RF modulation type neuro-classification).
Tasks
We will learn how to use a separate-compilation model framework that allows to integrate various contributions into one project, go over a few of the advanced C++ features post 2011 and learn how to train and use a neural network.
Preliminary schedule by topics/tasks
(1) separate compilation model setup framework, (2) review of class inheritance, C++ polymorphism, template meta-programming, C++_2011 move semantix, auto, name-mangling and interaction with F77 dlso's, code AXV2 vectorisation and OMP-4.0 parallelisation, (3) project for automated RF modulation type classification
Required skills
-- general knowledge of computer architecture -- ability to code in C++ up to the level of simple classes -- general knowledge of mathematics
Acquired skills and experience
-- ability to code advanced features of C++ (move semantix, template meta-programming, polymorphism, AXV2 vectorisation, OMP-4.0 parallelisation, interfacing inter-language dlso's) -- setting up separate-compilation model integratable projects -- training neuromorphic software
Recommended literature
-- C++ primer plus, 6th Ed., Stephen Prata, (2011) -- Neural Networks and Deep Learning, Aurelien Geron, O'Reilly Media, (2018)