Job Details – this job has expired, please see similar jobs below
Your Role and Responsibilities
We are seeking an analyst to help ensure that applications in the Python ecosystem offer industry-leading performance when run on the POWER microprocessor.
As part of the team that designed the #1 & #2 fastest supercomputers in the world, you will be part of a high profile initiative to optimize performance across all layers of the Python software stack for Power. This work will include Python interpreter enhancements and extend into optimization of key runtime libraries, as well as into Python JITs. This project provides opportunities for innovative software optimization as well as exploitation of leading edge hardware architectures in upcoming processors.
Through in-depth analysis of existing Python applications involving data transformation, ML/DL and other data-centric operations, you’ll help determine where optimization needs to happen -- be it in libraries, Python runtime, or underlying compiler or kernel infrastructure. When the opportunities involve the Python runtime or core libraries, you’ll be responsible for diving in to the code, implementing appropriate changes, and driving them upstream into the base and relevant distributions like Anaconda. You’ll also collaborate closely with compiler developers when opportunities are identified that can be addressed through enhancements to the compilers that build Python and core native libraries. You’ll also run workloads on competitive platforms to understand relative areas of strength and challenge. Deliverables will include code improvements, tuning recommendations and whitepapers as well as sales collateral. Insights gained will be fed to hardware design teams to improve next-generation hardware.
Demonstrated experience working with interpreters or JITs, preferably directly related to Python;
Strong skills in C, C++;
Experience with Java and Python is an asset;
Previous experience contributing to open source projects, having obtained committer standing in a recognized community preferred;
Strong understanding of memory layout, multi-threading, micro-architecture implications
Prior experience working with the Python community and CPython implementation;
Experience with Cython;
Ability to work in a team, network with people outside of the team and effectively communicate in written and verbal presentations is essential.
Exposure to projects utilizing machine learning and deep learning techniques with at least one of the following - TensorFlow, PyTorch, would be an asset.
Role ( Job Role )
Required Technical and Professional Expertise
5+ years with C or C++ programming
2+ years in Python programming
Experience implementing interpreters or JITs
Demonstrated familiarity with microarchitectural analysis
Practical experience with at least one acceleration technology (GPU, FPGA, SIMD etc.)
Experience with Conda or similar packaging systems
Passion for continuous improvement in building knowledge base both technically and professionally
Preferred Technical and Professional Experience
2+ years in Java programming
Committer status in a key open source community
Demonstrated experience optimizing a key Python library or package
Agile/ Scrum methodology experience
Up to 10% or 1 day a week
Is this role a commissionable/sales incentive based position?
Being You @ Company
Company is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. Company is also committed to compliance with all fair employment practices regarding citizenship and immigration status.
Sign up and search through 75,088 curated jobs in the Tech Edition: