With over 1,900 research operatives worldwide, the Corporate Technology (CT) department (www.ct.siemens.com) occupies a special position within Siemens' R&D facilities. It functions as an international network of expertise and as a global partner for technology and innovations. Through its R&D activities in Germany, the USA, China, India, Russia, Japan and Eastern Europe Corporate Technology helps secure the company's technological future and bolster its competitiveness.
CT Research is at the heart of Siemens R&D. Its deep technology base makes it a vital in-house partner for innovation. We develop technologies with wide applicability for the Siemens Divisions and help them to successfully bring innovations to market. Our about 1,800 scientists at locations in North America, Europe, and Asia ensure the technological and innovative future of the company.
The Parallel Systems Research Group in Bangalore India is looking to recruit candidates with a deep understanding and proven skills in computing technologies, for its research and development activities. It is necessary for the candidate to have work experience in software development, deep understanding of computing hardware architectures, knowledge/experience in software performance engineering. Knowledge and experience in computing technologies for data science applications, viz., high performance parallel and distributed computing, are highly desirable.
Specifically, the candidate is required to necessarily have the following skills: excellent programming skills in C#/C/C++, either work experience or good understanding of one or more hardware architectures for Intel Xeon Core series and Xeon Phi processors, ARM processors, Graphics Processor Units (GPUs) such as the nVIDIA Kepler and Tegra series, embedded boards such as BeagleBone or Raspberry Pi. The candidate is also expected to have a good understanding of one or more of the following prevalent and evolving technologies: multithreading/multicore/embedded systems/operating systems internals and programming/profiling and tracing tools/compiler construction. The candidate should be well acquainted with, and should have preferably used, one or more of profiling tools such as gprof, PAPI, Windows Performance Analyzer, valgrind, cachegrind, and related software such as the TAU profiler used in the high performance computing area. They should halso have good knowledge, preferably experience, with an accelerator languages such as CUDA and OpenCL. In-depth understanding of Windows or Linux kernel internals is a plus.
The candidate is expected to apply their experience and technological insight innovatively to Siemens applications and solutions to deliver cutting-edge software application performance. The candidate is required to analyze applications for bottlenecks and architect novel solutions to alleviate these bottlenecks. They should contribute to architecting, designing and developing prototypes and technology demonstrators . Solutions provided in this role are expected to have very high quality comparable to product level code. Therefore, the candidate is also required to have an in depth understanding of software engineering and object oriented concepts in general, and be able to apply them to solve business needs. The candidate should be able to create intellectual property usable by Siemens businesses, and /or drive publications out of their work wherever feasible.
What are my responsibilities?
•Demonstrate passion to enhance knowledge in state-of-the-art processing hardware especially for large scale parallel and distributed computing, such as multicore processors and accelerators (CPUs, GPUs)
•Effectively execute projects from analyzing requirements to designing and implementing solutions
•Design and develop prototypes for innovative technology demonstration
•Design and develop parallel and distributed computing software solutions (including tools, libraries and applications) for Siemens businesses worldwide
•Perform program analysis, optimizations and software performance engineering for Siemens applications
What do I need to qualify for this job?
•Passion and keen interest in emerging technology trends in computing technologies in various domains such as large scale simulations and high performance computing, i.e., parallel and distributed computing, and software performance engineering
•Specifically, the candidate is required to necessarily have the following skills: 1.Excellent programming skills in C/C++
2.Knowledge of R is desired. If not, then knowledge of a scripting language such as Python or MATLAB is desirable.
3.Either work experience (preferable) or in-depth understanding of one or more hardware architectures: Intel Xeon Core series , NVidia Graphics Processor Units (GPUs).
4.Experience with one or more accelerator languages such as CUDA and OpenCL.
5.In-depth understanding of one or more of the following prevalent and evolving technologies: multithreading/multicore and programming/profiling and tracing tools.
6.Experience with (or in-depth knowledge of) one or more of profiling tools such as gprof, CUDA Visual Profiler, PAPI, Windows Performance Analyzer, valgrind, cachegrind, and related software such as the TAU profiler used in the high performance computing area is desirable
7.Domain exposure in computational fluid dynamics is a plus.
•Must have excellent communication and presentation skills
•Should be strongly self-motivated/capable of working independently
•Knowledge of German is a plus
•Masters degree in Computer Science (or related fields, with relevant work experience)
•3 - 10 years work experience in software development and/or parallel computing
•Technical papers at prestigious conferences and journals is a plus
What else do I need to know?
Siemens is dedicated to quality, equality, and valuating diversity and we welcome applications that reflect the diversity of the communities within which we work.