MulticoreWare is a global software solutions & products company with its HQ in San Jose, CA, USA. With worldwide offices, it serves its clients and partners in North America, EMEA and APAC regions. Started by a group of researchers, MulticoreWare has grown to serve its clients and partners on HPC & Cloud computing, GPUs, Multicore & Multithread CPUS, DSPs, FPGAs and a variety of AI hardware accelerators.
MulticoreWare was founded by a team of researchers that wanted a better way to program for heterogeneous architectures. With the advent of GPUs and the increasing prevalence of multi-core, multi-architecture platforms, our clients were struggling with the difficulties of using these platforms efficiently.
We started as a boot-strapped services company and have since expanded our portfolio to span products and services related to compilers, machine learning, video codecs, image processing and augmented/virtual reality. Our hardware expertise has also expanded with our team; we now employ experts on HPC and Cloud Computing, GPUs, DSPs, FPGAs, and mobile and embedded platforms. We specialize in accelerating software and algorithms, so if your code targets a multi-core, heterogeneous platform, we can help.
Job Summary
We are seeking experienced engineers to join our team developing system simulation software used for architecture exploration, performance analysis, and validation. The role involves designing, implementing, and optimizing simulation models of compute cores, memory subsystems, and interconnects, while ensuring accuracy, scalability, and regression stability.
The ideal candidate has a strong background in C/C++ systems programming with a solid understanding of computer architecture concepts such as execution models, memory hierarchy, and system-level interactions. Prior experience in simulation, modeling, or high-performance software development is highly desirable.
Key Responsibilities
Design, implement, and optimize simulation models for processors (CPU/GPU), memory, and interconnect subsystems.
Extend system simulators to support new architectural features and workloads.
Develop and maintain regression workflows, including golden workloads and automated validation harnesses.
Collaborate with hardware architects to ensure simulator fidelity to system specifications.
Analyze simulation performance, identify bottlenecks, and propose optimizations.
Document architecture, APIs, and test procedures for long-term maintainability.
Required Qualifications
Bachelor's or master's degree in computer science, Electrical Engineering, or related field.
4+ years of experience in C/C++ programming with strong debugging skills.
Solid understanding of computer architecture (execution models, memory hierarchy, interconnects).
Experience with system-level software such as simulators, emulators, or compilers.
Hands-on experience with Linux development environments, build systems (Make, CMake), and version control (Git).
Preferred Qualifications
Prior experience with system simulation frameworks or performance modeling tools (e.g., gem5, Simics, QEMU, custom in-house simulators).
Familiarity with modeling CPUs/GPUs, memory subsystems, or SoC interconnects.
Exposure to regression test harnesses and CI/CD pipelines.
Knowledge of caching strategies, parallel execution, or performance validation techniques.
* Experience working in large-scale, collaborative codebases with multiple stakeholders.
Beware of fraud agents! do not pay money to get a job
MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.