Software Tools Infrastructure Architect - Hardware in Hillsboro, OR

$80K - $100K(Ladders Estimates)

NVIDIA Corporation   •  

Hillsboro, OR 97123

Industry: Telecommunications & Hardware

  •  

Not Specified years

Posted 30 days ago

A key part of NVIDIA's strength is our unique, advanced, development tools and environments that enable our incredible pace of delivering new technology to market. We are looking for hard-working, and creative people who passionate about joining a dynamic agile software team with high production quality standards that can help across our infrastructure. The roles below offer the opportunity to play a critical part in every stage of development of GPU technology, and to learn and improve the daily workflows of the world's top chip designers and to apply machine and deep learning to every part of our chip development pipeline. All of our roles require Excellent interpersonal skills and flexibility/adaptability for working in a dynamic environment with different frameworks and requirements

GPU C++ DEVELOPMENT TOOLS ARCHITECT

Our work includes developing chip definition languages, compute infrastructure for large scale distributed runs of critical applications and simulations, building integrated development and debugging environments. In this position, you will develop the core infrastructure for modeling, simulation, analysis, and debugging in the development of large-scale, general-purpose graphics and computing chips. Our C++ infrastructure enables our driver stack, applications, tests, and studies to run unchanged on all functional, diagnostic, and performance models, and on simulations, emulations, and silicon for all of our graphics chips.

What we need to see:


  • Strong C++ programming capability required (experience with STL and/or boost a plus).
  • Knowledge of object oriented design patterns required.
  • Experience with chip and/or system simulation a huge plus
  • Strong scripting skills desired
  • Graphics or CUDA knowledge a plus
  • Experience with OpenGL, Direct3D, CUDA APIs a plus

GPU DEEP LEARNING DEVELOPMENT TOOLS ARCHITECT

We are building a new computing model and environment through deep learning and are evolving the modeling, analysis, and debugging in the development of large scale general purpose AI, Graphics and Computing chips. This infrastructure enables scalable and distributed deep learning on our own super computer. You will work closely with the NVIDIA software stack for GPU-accelerated machine learning and deep learning, developing and leveraging some of the most powerful GPU compute clusters, and workflows running on them.

What we need to see:


  • Excellent knowledge of object oriented design pattern
  • Distributed systems programming
  • Strong scripting skills required – Perl or Python preferred
  • Background and prior experience with machine learning algorithms
  • Familiarity with deep learning frameworks such as Caffe, Theano, Torch, TensorFlow
  • Familiarity with CUDA or OpenCL APIs

GPU APPLIED DEEP LEARNING DEVELOPMENT ARCHITECT

We are looking for GPU-accelerated deep learning experts to apply deep learning techniques to problems in our workflows for developing AI, Graphics and Computing chips. This involves learning the core infrastructure being improved, current methods, and then proposing or improving deep learning techniques. You will want to have an interest in one of our other key areas such as HPC computing, metrics, build and release, modeling tools or simulation toosl, or application or chip performance analysis.

What we need to see:


  • Excellent knowledge of object oriented design pattern
  • Strong scripting skills required – Perl or Python preferred
  • Background and prior experience with machine learning algorithms
  • Expertise with deep learning frameworks such as Caffe, Theano, Torch, TensorFlow
  • Expertise with CUDA or OpenCL APIs

SYSTEMS INFRASTRUCTURE CHIP DEVELOPMENT ENVIRONMENT ARCHITECT

We are evolving the core build, simulation, verification and release pipeline for the development of our AI, grahics, discrete graphics, computing and SOC chips. This strongly Object Oriented Perl/Python and Java/C++ infrastructure encompasses several extensive proprietary applications that allow us to efficiently verify the world's largest chips with a sophisticated distributed computing execution and triage environment.

What we need to see:


  • Strong object-oriented programming and design pattern knowledge: Object Oriented Perl, C++ or Java preferred
  • Excellent interpreted language skills highly desired –Perl or Python preferred
  • Experience in software development life cycle on Linux based platforms preferred
  • Experience with MySQL or Postgress strongly desired
  • Experience with hardware build, simulation or verification environments and testing strongly desired

WEB/DATABSE APPLICATIONS ARCHITECT

We develop the user interface and front end application for comprehensive workflows for the development of new graphics chips. In this position you will be working on backend and frontend design and development of proprietary web applications for hardware development. This will involve direct interaction with end users, analyzing performance bottlenecks in the workflow and application, and building infrastructure and microservices to support the hardware development teams.

What we need to see:


  • Solid knowledge of Java Language and common Java API's.
  • Thorough knowledge of object oriented design
  • Experience with SQL and at least one SQL database server.
  • Knowledge of at least one dynamic language like Python or Perl
  • Experience with Javascript and preferably the Ember framework
  • Experience with MongoDB and/or ELK

CAD SOFTWARE ARCHITECT

NVIDIA's products involve designing some of the most complex chips ever seen. This is enabled by using design tools which automate a variety of of design tasks: RTL design entry, simulation, verification, timing, physical design, package and substrate design, signal integrity, and characterization. We are seeking software architects to build software solutions to automate design processes. Ideal candidates should have a strong background in computer science and basic knowledge of hardware design (logic/RTL design, silicon layout).

What we need to see:


  • Object-oriented design and programming using C++. Experience with STL and Boost is preferred.
  • Strong knowledge of algorithms and computer science theory, specifically graph theory, compiler design, synthesis, simulation, database, and computational geometry.
  • Interest in digital design.
  • Knowledge of Unix and Windows build and debugging environments. (g++, gdb) and (Visual Studio/Visual C++)
  • Programming experience in Perl and TCL
  • Experience developing GUIs using Qt

HPU/GPU INFRASTRUCTURE SYSTEMS ENGINEER

We are improving our existing HPC distributed computing infrastructure used for the development of all NVidia hardware products. Additionally, we are prototyping and development of the new modern converged computing infrastructure as our environments have both CPUs and GPUs. In this role you will identify and propose new effort saving automations for the distributed CPU and GPU computing clusters, improve root cause analysis and corrective action for problems large and small – identify patterns and propose how we can automate repetitive tasks and recommend and implement solutions to improve computing farm performance.

What we need to see:


  • Experience with system administration of Linux servers (CentOS/RHEL and Ubuntu preferred)
  • Strong systems API development – Python, Go, Perl
  • Knowledge about Linux infrastructure monitoring and alerting
  • Accomplished work related to the distributed compute/storage/network

Ways to stand out from the crowd:


  • Working knowledge of configuration management – Salt, Ansible, Puppet
  • Experience with at least one of the job schedulers such as LSF, SLURM, Mesos/Marathon, Kubernetes, Docker Swarm
  • Advanced knowledge of the virtualization and imaging – VmWare
  • Experience with solving Linux system level problems
  • Some experience at the large scale data center – 1000+ nodes
  • Experience with containers – Docker, Clear Containers, rkt

CONTINUOUS INTEGRATION ARCHITECT

Our continuous integration systems automate the build, testing, check-in, and regression test workflows for world-wide design engineering teams and runs on a large-scale, distributed cloud computing system with 1000s of heterogeneous servers. Our system operates at large scale, running millions of jobs per day to verify multiple designs in many configurations. Our systems use both Perforce and Git. In this role you will be improving the core testing algorithms and frameworks for testing and managing software submissions and release candidates. This can be in the core Perforce and Git back-end infrastructure, or in the hardware development team facing tools that integrate with their workflows.

What we need to see:


  • Strong software engineering process skills
  • Experience with Linux development programming tools
  • Experience with SCM tools such as Perforce, Git, Subversion, ClearCase, etc.
  • Strong object-oriented programming skills
  • Strong interpreted language application experience in Perl or Python

Ways to stand out from the crowd:


  • Experience developing and deploying automated continuous integration processes
  • Experience with chip design workflows
  • Object Oriented Perl expertise
  • Deep understanding of Source Code Management (SCM) processes and tools for large, multi-site development, including branching, integration, and release strategies

TEST AUTOMATION ENGINEER

Our advanced test automation enables us to intelligently verify chips with billions of gates. Our systems run millions of tests per day in distributed cloud computing system with 1000s of heterogeneous servers to verify multiple designs in many configurations. Proprietary algorithms are used to minimize the time to verify a change or complete chip. In this role you will improve the core automation, the data tracked and the algorithms used for this operation. You will analyze and improve system performance of the full pipeline. You will improve the current system's ability to schedule and utilize resources, improve performance, increase reliability, and provide better throughput. You will directly contribute to the overall quality of and improve time to market for of our next generation chips.

What we need to see:


  • Strong software engineering process skills
  • Experience with Linux development programming tools
  • Strong object-oriented programming skills
  • Strong interpreted language application experience in Perl or Python preferred

Ways to stand out from the crowd:


  • Experience developing and deploying automated testing infrastructure
  • Experience with chip design workflows particularly chip verification
  • Expertise with Object Oriented Perl or Python
  • Deep understanding of distributed and microservice architecture principles


Valid Through: 2019-11-8