Senior C/C++ Developer (MPI, OpenMP, OpenCL)

Oregon  ‐ Onsite
This project has been archived and is not accepting more applications.
Browse open projects on our job board.

Keywords

Description

Project Description:
We are seeking a Senior Software Engineer who has a strong passion in identifying and solving problems and has a background in software validation. This person should understand the implementation details of the high performance computing software stack in order to debug issues found in the stack and drive them to resolution. The successful candidate will have a background in Kernel/user mode device drivers and/or application software development and debugging. In this role, you will have an opportunity to contribute to our current and future high performance computing products.

Your responsibilities will include but not be limited to:
- Understanding the hardware and software architecture of the products
- Colloborating with software development engineers (?OS/Embedded OS, device drivers, applications, tools, etc.,) and software/hardware architects to debug software in shared and distributed parallel programming models
- Using analytical skills to isolate issues to the correct component through multiple stack layers
- Creating robust software test methodologies and test plans
- Recommending design and test improvements to enable more robust implementations of the software stack
- Collaborating with senior technical leads as well as drive projects and deliverables independently
- Working in a diverse team environment, as well as independently
You must possess the minimum qualifications to be initially considered for this position. Experience would be obtained through your educational level research and/or relevant job/internship experiences.

Minimum Requirements:
You must have a Bachelor's degree with at least 4 - 6 years or a Master's degree with at least 2 - 4 years of relevant software development experience, in Computer Science, Computer Engineering or equivalent degree.

Experience/Skills:
- Demonstrated experience in C/C++ development on Linux and/or Windows platforms
- Demonstrated experience in algorithm analysis
- Demonstrated experience in parallel programming
- Experience programming MPI, OpenMP, OpenCL, and/or TBB
- Experience debugging Linux and/or Windows device drivers at the source level
- Familiar with debugging techniques for the high performance computing environment
- Good understanding of Intel Architecture (IA)/processor concepts, and experience developing applications based on knowledge of the underlying hardware architecture
- Comfortable task switching and managing multiple tasks at the same time
- Solid written, verbal and presentation skills for expressing complex ideas and initiatives to audiences of varied technical skills

Preferred Requirements:
- Familiar with Fortran programming languages
- Experience programming GPGPU hardware
- Familiar with Linux Kernel debugging at the source level using KGDB
- Familiar with Windows debugging using WinDBG
- Advanced parallel algorithm analysis
- Software performance optimization experience
- Understanding of DMA and PCIe programming concepts
- Experience with gdb, idb, windbg, and remote debug
- Use of memory management debuggers, eg valgrind (Linux) or Purify (Windows)
- Familiar with Visual Studio, Eclipse, and/or SlickEdit.
- Experience debugging distributed computation algorithms in a cluster environment.
- Experience with Linux & Windows code profiling tools, eg oprofile, VTune, gprof, glowcode
- Familiar with RAS
- Familiar with both server & Workstation architecture
- Familiar with compiler code generation and compiler debug concepts/methods
- Experience with MPI debugging through the use of a distributed debug tool, eg TotalView and Intel Cluster Checker.

Apply online. To learn more about Mavensoft please visit us online at our website.

Start date
ASAP
Duration
6-12 months
From
Mavensoft Tech
Published at
20.06.2012
Project ID:
379715
Contract type
Freelance
To apply to this project you must log in.
Register