1 day old

Software Engineer - Graph Analytics, High Performance Computing

Intel
Hillsboro, OR 97123
  • Job Code
    JR0227086
  • Jobs Rated
    8th
Job Description

We are looking for individuals who are interested in developing software for novel, advanced computer architectures, whose software stack spans from low-level runtimes and libraries in C/C++ to high level APIs that are needed for data science frameworks and toolkits. There are opportunities for development at each level of this extensive software stack, on massive high-end FPGAs...and on actual, prototype hardware.

This is a position with the end goal being production-quality, high-performance software that demonstrates the novelty and performance of the hardware architecture developed. Software development begins pre-silicon and access to FPGA emulation hardware, as well as functional and performance simulators, allows development of the software in parallel with hardware milestones. Experimentation, product innovation, and publication is encouraged and there are opportunities to collaborate with research partners to develop ideas and translate them into the product.


The computing area of Graph Analytics, particularly with huge (terabytes and beyond) data sets as well as data sets that change rapidly in real-time, is quickly growing in use in industry and government applications, such as very large-scale relational databases, threat identification, and social network analytics. Current, virtually ubiquitous Artificial Intelligence and Machine Learning applications likewise rely on sparse-graph processing with ever-increasing training data set sizes.

The Extreme Scale Computing (ESC) team develops novel, advanced architectures to handle fast processing of huge graphs. The group develops its own software and hardware in-house, with software development spanning all the levels of a full software stack. The software stack is intended for eventual mass adoption through open-source data science frameworks and through Intel Corp.'s oneAPI alongside deployments of its hardware. It is an organization with a strong technical atmosphere, innovation, friendly teamwork spirit, and engineers with diverse backgrounds. And as the hardware is also still in development, there is a real opportunity at every level of software development work to make a significant, tangible impact on the final hardware product.

You will work on software development and optimizations by analyzing software framework implementations, such as PyTorch and TensorFlow, as well as graph analytic algorithms and workloads used in current industry applications such as social networks and graph databases, to identify performance bottlenecks and optimization opportunities. You will perform these analyses on existing state-of-the-art platforms as well as the novel, prototype HW architecture to both identify and develop and test optimizations. There will be opportunities for contributing optimizations and features directly back to open-source frameworks, libraries, and other projects. In addition, you will contribute to the design and development of the software stack's top-most level, the API, which will be used by future third-party frameworks and workflows. A part of this API work will also involve collaboration with Intel oneAPI teams for inclusion into future releases of oneAPI.

An ideal candidate would exhibit multiple of the following traits and abilities:

  • Ability to work in a dynamic and team-oriented environment on a rapidly evolving (vs established) product, with team members spread across varied geographical locations, both in the U.S. and internationally
  • Ability to self-motivate, self-assess, and determine useful paths of work with relative autonomy, with a positive Can-Do attitude
  • Excellent written and oral communication skills in English (other languages are a plus)
  • Deep, driven interest and passion for optimization and performance at all layers of a software stack
  • Enthusiasm for hardware and a curiosity about how software and hardware interoperate


Qualifications

Minimum qualifications are required to be initially considered for this position. Preferred qualifications are in addition to the minimum requirements and are considered a plus factor in identifying top candidates.

Minimum Qualifications:

  • B.Sc. in Computer Science, Computer Engineering, or comparable engineering major/discipline concentrated on software development with 5 years of hands-on software development experience, or
  • M.Sc. in Computer Science, Computer Engineering, or comparable engineering major/discipline concentrated on software development with 3 years of experience.

In addition, each of the following must have been encountered in a significant amount (at least 6 months' time or at least 1 significant project/work product):

  • Software engineering and software project planning exposure (Development methodology, collaborative processes, etc.), especially the philosophy and design concepts around layered software architecture (software stacks) and Application Programming Interfaces (API)
  • Use of software toolchains, compilers, and debugging tools on a Linux/Unix-like system
  • Software development work at the hardware/software interface, firmware, or runtime levels on any modern RISC, ARM, or x86 platform
  • Experience debugging multi-threaded applications and drivers on Linux/Unix-like system
  • Solid knowledge (but not necessarily domain mastery) of computer architecture including vector processors, multi-core and hyper-threading processors, and memory hierarchies
  • Solid knowledge of graph algorithms relevant to generic graph operations, as well as those applicable to AI/ML
  • Basic performance-analysis-of-systems skills, and basic statistics knowledge


Preferred Qualifications:

  • Expertise (domain mastery) of low-level programming and debugging of multi-core processing units and their peripherals (i.e., bare-metal programming)
  • Experience in modifying and extending the GDB and/or LLDB debuggers and GCC and/or LLVM compilers
  • Previous work with performance analysis, specifically on GPUs and Intel CPUs
  • Prior study of computer implementations of linear algebra operations and matrix math
  • Hands-on exposure to High-Perf. Computing (HPC)/distributed computing environments and applications
  • Prior development or optimization of Deep Learning models, especially low precision models (knowledge of current frameworks for ML/DL is a plus)
  • Prior hands-on development of a commercially released (or widely adopted open source) API


Requirements listed would be obtained through a combination of industry relevant job experience, internship experiences and or schoolwork/classes/research.

Inside this Business Group

Enable amazing computing experiences with Intel Software continues to shape the way people think about computing across CPU, GPU, and FPGA architectures. Get your hands on new technology and collaborate with some of the smartest people in the business. Our developers and software engineers work in all software layers, across multiple operating systems and platforms to enable cutting-edge solutions. Ready to solve some of the most complex software challenges? Explore an impactful and innovative career in Software.



Other Locations

US, California, Folsom;US, California, San Diego;US, California, Santa Clara;US, Georgia, Atlanta;Virtual US


Intel strongly encourages employees to be vaccinated against COVID-19. Intel aligns to federal, state, and local laws and as a contractor to the U.S. Government is subject to government mandates that may be issued. Intel policies for COVID-19 including guidance about testing and vaccination are subject to change over time.



Posting Statement

All qualified applicants will receive consideration for employment without regard to race, color, religion, religious creed, sex, national origin, ancestry, age, physical or mental disability, medical condition, genetic information, military and veteran status, marital status, pregnancy, gender, gender expression, gender identity, sexual orientation, or any other characteristic protected by local law, regulation, or ordinance.

Annual Salary Range for jobs which could be performed in US, Colorado:
$113,500.00-$170,120.00


Benefits:
We offer a total compensation package that ranks among the best in the industry. It consists of competitive pay, stock, bonuses, and benefit programs. Find more information about our Amazing Benefits here

Work Model for this Role

This role will be eligible for our hybrid work model which allows employees to split their time between working on-site at their assigned Intel site and off-site.

Jobs Rated Reports for Software Engineer

Posted: 2022-07-04 Expires: 2022-08-05

Before you go...

Our free job seeker tools include alerts for new jobs, saving your favorites, optimized job matching, and more! Just enter your email below.

Share this job:

Software Engineer - Graph Analytics, High Performance Computing

Intel
Hillsboro, OR 97123

Join us to start saving your Favorite Jobs!

Sign In Create Account
Software Engineer
8th2017 - Software Engineer
Overall Rating: 8/199
Median Salary: $100,690

Work Environment
Good
53/199
Stress
Very Low
24/199
Growth
Very Good
32/199
Powered ByCareerCast