COMPANY :
Mohammed VI Polytechnic University is an institution dedicated to research and innovation in Africa and aims to position itself among world-renowned universities in its fields The University is engaged in economic and human development and puts research and innovation at the forefront of African development. A mechanism that enables it to consolidate Moroccos frontline position in these fields, in a unique partnership-based approach and boosting skills training relevant for the future of Africa. Located in the municipality of Benguerir, in the very heart of the Green City, Mohammed VI Polytechnic University aspires to leave its mark nationally, continentally, and globally.
What our employees love most about working here ❤ : Read our verified reviews
Company culture :
UM6P – Mohammed VI Polytechnic University operates within a strongly innovation-driven culture, where creativity, experimentation and intellectual boldness are key foundations. The university promotes initiative, openness and autonomy in a stimulating environment focused on research, entrepreneurship and impact. This innovative mindset is reinforced by a solid cooperative dimension, fostering collaboration, knowledge sharing and human development. A clear focus on performance and excellence further supports this culture, while formal processes remain lighter to maintain agility and flexibility.
Job :
Peer-to-peer (P2P) learning is a new machine-learning method that has been proven to be a more energy-saving option compared to central and federated learning methods. It can achieve similar or even better accuracy in some cases. However, using machine-learning methods in a P2P way needs a suitable and effective hardware setup and software platform, which is different from the usual servers found in data centers. At the College of Computing in UM6P, within the research group led by Professor Robert Basmadjian, MLab was created. MLab is a project that works on different systems for strong, energy-saving P2P machine learning (ML) across various devices (Android, iOS, Linux, and web). We are creating the software platform for MLab. In this platform, a mobile app works with other devices (like other phones or IoT devices) in a P2P network. Together, they train and customize ML models on the device's CPU and GPU (using hardware acceleration) and share model information with other devices to get an accurate model. Therefore, there is an open position for a System Engineer (SE) for 6 months, which can be extended for another 6 months (if needed).
The main tasks for the SE will be to build:
- A React Native app with a C++ ONNX Runtime core for fast processing and on-device training using the phone's GPU.
- Connections to native hardware accelerators (Core ML/ANE on iOS, QNN/NNAPI on Android).
- Lightweight networking for P2P connections and reliable saving of data/tracking information.
Responsibilities:
- Create React Native TurboModules/JSI (C++) that provide functions to start, process, and train models.
- Integrate ONNX Runtime (using its C++ API) and set up mobile hardware accelerators.
- Improve speed, memory usage, and power consumption; handle errors smoothly.
- Produce secure app versions and automated testing for Android/iOS; track performance data during use.
Required profile :
Skills needed:
- Javascript, React.
- React Native (New Architecture) TurboModules/JSI in C++.
- C++ (CMake), Android NDK, Xcode/Clang.
- Integrating ONNX Runtime (C++ API) on mobile devices.
- Using mobile hardware accelerators: Core ML/ANE, QNN/NNAPI.
- Basic understanding of on-device training; simple federated learning setup.
- Checking performance and reliability on actual devices
Find out if this job is right for you
Take the free ReKrute personality test and instantly get your compatibility score with this job and with the culture of more than 150 companies on the market.
