KLA Careers

Computational Software Architect

Company Overview

Calling the adventurers ready to join a company that's pushing the limits of nanotechnology to keep the digital revolution rolling. At KLA, we're making technology advancements that are bigger—and tinier—than the world has ever seen.

Who are we?  We research, develop, and manufacture the world's most advanced inspection and measurement equipment for the semiconductor and nanoelectronics industries. We enable the digital age by pushing the boundaries of technology, creating tools capable of finding defects smaller than a wavelength of visible light. We create smarter processes so that technology leaders can manufacture high-performance chips—the kind in that phone in your pocket, the tablet on your desk and nearly every electronic device you own—faster and better. We're passionate about creating solutions that drive progress and help people do what wouldn't be possible without us.  The future is calling. Will you answer?

Group/Division

With over 40 years of semiconductor process control experience, chipmakers around the globe rely on KLA to ensure that their fabs ramp next-generation devices to volume production quickly and cost-effectively. Enabling the movement towards advanced chip design, KLA's Global Products Group (GPG), which is responsible for creating all of KLA’s metrology and inspection products, is looking for the best and the brightest research scientist, software engineers, application development engineers, and senior product technology process engineers.

About KLA Advanced Computing Labs, India:

KLA advanced computing Labs’ mission in India is to deliver advanced parallel computing research and software architectures for AI + HPC + Cloud solutions to accelerate KLA’s product performance. This team explores high-risk approaches, pioneering technologies, and novel methods to accelerate KLA’s algorithms and contribute to KLA’s HPC technology roadmap. We engage leading thinkers in academia, industry and KLA’s business units to create innovative parallel computing methods to enable KLA’s business growth.

 

Responsibilities

Computational Software Architect

KLA is hiring engineers for it’s Advanced Computing Labs (ACL) research team at our new R&D center in the IITM, Chennai research park. The goal of the center is to conduct computational research in parallel and distributed sub-systems and deploy them to KLA’s advanced semi-conductor platforms that are used for inspection and metrology tasks in leading fabs. These efforts are part of a larger global initiative at KLA to scale up it’s AI + HPC infrastructure.

Specifically, we are looking for an experienced SW lead engineer with a deep understanding of the complete software lifecycle from requirements and design to building, testing and packaging with a strong background in Modern C++ (optionally GO, Python languages), significant experience in Linux operating system internals and its distributed systems is required. Strong planning and communication skills will help in being effective in this role. This position requires a person who can navigate and bridge technologies and cultures from engineers working on low level parallel computing optimization at the device level (GPU-CUDA, SIMD-CPU, SYCL etc.) to higher level users of AI  + HPC frameworks using a range of distributed computing technologies (Tensorflow, DASK, Docker,  Swarm, Kubernetes etc.).

 

In this role, the architect is expected to understand our current AI + HPC + cloud infrastructure efforts and participate to define it further. There will be need to come up with new technology stack options based understanding of the problems/needs at every level of the current solution stack beginning from low level GPU/FPGA based workload optimization to mid-level control & workflow applications to high level system of system integration needed to connect clusters, containers and so on. There has to be active willingness to be hands-on when needed as well as influencing other engineers on technical direction. This is not a managerial position thus will not have direct reporting or employee managing responsibilities. However, experience in leading, managing, influencing, directing, envisioning, persuading etc. will all be very useful in this role.  

Qualifications

Expected Skills

10 to 15 years’ experience in engineering & supporting frameworks, applications & infrastructure software in: 

1) HPC/Parallel computing 

2) Distributed/cluster 

3) Large scale Linux systems

Minimum Education: BS/B. Tech in Computer Science/Math/Physics

Experience in implementing high performance computing applications, designing data pipeline cross-domain and cross-network boundaries, optimizing software stack to maximize application performance, designing and troubleshooting distributed computing applications are required.

Expert level knowledge and hands-on experience of systems programming languages (C/C++, GO, Java, python), good mental model of computational stack both at the Linux Operating System Level including concepts associated with the networking stack, memory mapped I/O etc. as well as at the application level.

Conceptual understanding of Containers (Docker, LXC etc.) and Container Orchestration technologies such as Docker Swarm or Kubernetes.

Finally the candidate must be self-driven, curious and have the ability to navigate successfully with global teams including interacting with senior technical SW  + HPC architects.

Bonus skills:

Experience in large scale distributed HPC systems, proven experience in Docker and Container orchestration and any expertise in AI Frameworks (Tensorflow) and familiarity with GPUs will be a definite plus.

Finally a strong background in Modern C++ concepts (C++ 11 through C++ 17), STL library would also be a way to stand out from the crowd.