Profiling Tool Suite Software Developer
Greenwaves Technologies is a 5-year-old fabless semiconductor startup established in Grenoble, France. Our first product GAP8 is the world’s first IoT Application Processor armed with 8+1 RISC-V based cores and a high performance HW convolution engine. It is a simple yet very sophisticated unique processor architecture, which delivers an energy efficiency that is 20x better than the state-of-the-art, opening a large range of battery powered applications. Examples of applications are people counting, keyword spotting, combined with beamforming, object recognition, face detection and vibration analysis. GAP8 is especially effective on machine learning inference algorithms (CNN, SVM, Bayesian, Boosting, Cepstral analysis). Yet, GAP8 is by and large programmed just like a regular MCU.
Our technology is very much ahead of the state-of-art, and our chip is just about to prove its revolutionary potential on a wide open global market. For a team, it is a very motivating challenge that each of us could be part of in proportion to one’s own enthusiasm at work. As a growing and highly multicultural team with sharp personalities, Greenwaves Technologies is very proud of its specific collaborative management style. The company is and will be what we each of us make of it, as we experience every day, and we are looking for talented, enthusiastic, curious and committed people, who will be ready to bring their energy and skills for a significant contribution to the success of the company’s project.
Greenwaves Technologies is developing an SDK to allow people to design, debug and profile applications for his GAP products. Optimization of application porting on GAP8 is key to reach the best performances and lowest power consumption. It requires parallelization and optimization of inter-core synchronizations and data movements across the memory hierarchy, in parallel of the execution of application kernels.
For this reason we are developing specific tools to help developers improve the performances of their applications on the chip. The tool suite includes tools for debugging (gdb, openocd), profiling (execution traces, statistics, graphical environment), and for other purposes (flash tools, etc.). You will be part of the SW team in charge of developing and maintaining this tool suite:
- Contribution to the development of different tools, and to their integration in the tool suite;
- Validation and debug of the tools;
- Documentation and tutorials.
- C/C++, Python programming;
- Development of graphical environments (e.g. using GTK, Qt or SDL);
- Software debug techniques.
- Good level of spoken and written English;
- Strong team spirit and communication abilities, in a multisite environment;
- Ability to work autonomously and proactively on assigned tasks.
- Knowledge of parallel embedded architectures and DSP processors;
- Familiarity with versioning/revision control systems (e.g. git).
- Junior Master Degree or plus in Computer Engineering, or experienced DUT or equivalent;
- Previous experience in application programming, ideally with a GUI, in a professional, personal or educational context is highly desirable.