Senior Software Engineer
Company: The MathWorks, Inc.
Location: Natick, Massachusetts
Posted on: November 16, 2021
Job Description:
Working under the direction of the Manager or Senior Team Lead,
will be responsible for designing, developing and testing
sophisticated software; developing compiler technology that enables
code generated for deep learning and computer vision algorithms
from MATLAB and Simulink to run on high-performance computing
platforms including multi-core CPUs and GPUs; designing,
architecting, implementing and testing new parallel compilation
technologies to enable algorithms written in Simulink and MATLAB to
efficiently execute on parallel computing platforms; participating
in all phases of product development, including planning,
developing, and testing compiler technology; developing new
partitioning, scheduling and memory optimization algorithms;
prototyping execution on SoC boards and hardware platforms;
designing software architecture and implementing in C++ and MATLAB;
and testing and integrating features in to Simulink and code
generation products. Education and Experience: Masters degree (or foreign education equivalent) in Engineering
or Computer Science and two (2) years of experience in job offered
or two (2) years of experience writing algorithms for deployment to
GPU or FPGA architectures. OR Ph.D. degree (or foreign education equivalent) in Engineering or
Computer Science and no experience. OR Bachelors degree (or foreign education equivalent) in
Engineering or Computer Science and six (6) years of experience in
job offered or six (6) years of experience writing algorithms for
deployment to GPU or FPGA architectures. Special Requirements: Demonstrated expertise writing algorithms in CUDA and C/C++;
using cuDNN and CUDA ToolKit libraries to deploy optimized deep
learning inference applications; and performing software
development for deployment on high performance heterogeneous
parallel NVIDIA desktop computing environments (CPU/GPU) using
CUDA. Demonstrated expertise using deep learning frameworks -- MATLAB
and TensorFlow -- and applying deep learning algorithms,
statistical methods -- linear algebra, probability, and
mathematical optimization -- and machine learning methods --
classification and regression -- to build statistical tools and
machine learning and deep learning applications. Demonstrated expertise using MATLAB code generation technologies
and the underlying compiler infrastructure technologies --
intermediate representation and graph optimizations -- for C/C++
and CUDA code generation. Demonstrated expertise programming in C++ and MATLAB, including
object-oriented design and analysis in MATLAB and C++ according to
design patterns and data structures. [Experience and/or expertise may be gained during Doctoral
program.] For the position listed above, interested candidates may search
by job code 27416 for specific job details and requirements and
apply online on the Careers Page at
https://www.mathworks.com/company/jobs/opportunities/search/
Keywords: The MathWorks, Inc. , Boston , Senior Software Engineer, Computer , Natick, Massachusetts, Massachusetts