As an Application Engineer at Morphing Machines, you will play a key role in designing, developing, and optimizing applications that utilize advanced algorithms and machine learning techniques. You will work on projects involving image and video processing, signal processing, and machine learning models. Your expertise in Python, C++, and frameworks like PyTorch and TensorFlow will be crucial in developing high-performance applications. Additionally, your experience with GPUs, RISC-V and multi-core CPUs will be essential in optimizing and accelerating our solutions.
Key Responsibilities :
Develop and implement algorithms for image and video processing.
Apply signal processing techniques to various applications.
Design, develop, and optimize machine learning models, including convolutional neural networks (CNNs) and large language models (LLMs).
Write efficient code in Python, C++ and OpenCL to build robust applications.
Utilize machine learning frameworks such as PyTorch and TensorFlow to develop and deploy models.
Optimize application performance using GPUs and multi-core CPUs.
Collaborate with cross-functional teams to define, design, and ship new features.
Participate in code reviews, testing, and quality assurance processes.
Stay updated with the latest advancements in technology and incorporate them into projects.
Understand how computations map onto the REDEFINE IP through compilation steps and kernels, investigate any gaps in functionality and performance, propose innovative solutions to mitigate any issues.
Qualifications :
Bachelors or Masters degree in Computer Science, Electrical Engineering, or a related field.
Proven experience in working with image and video processing algorithms.
Strong background in signal processing techniques.
Hands-on experience with machine learning, specifically with CNNs and LLMs.
Proficiency in Python and C++ programming languages. Experience in working with OpenCL.
Understanding of MLIR and any other Intermediate representations.
Experience with machine learning frameworks such as PyTorch and TensorFlow.
Practical knowledge of working with GPUs and multi-core CPUs for optimizing application performance.
Excellent problem-solving skills and attention to detail.
Strong communication skills and the ability to work effectively in a team environment.