Internship for Technology Disciplines - PETRONAS Research
• Software development of algorithms in Python for use in large HPC environments, including job scheduling, environment containerization, and I/O optimisation for shared filesystems.
• Optimize and scale Python code leveraging PyTorch, JAX, and Numba for multi-GPU and multi-node execution where applicable.
• Develop and maintain reproducible compute environments using containers (Singularity, Docker) and environment managers (conda).
• Basic IT system administration of Linux-based local compute infrastructure (laptops and server).
- Develop Python algorithms for job scheduling, containerization, and I/O optimization in HPC environments.
- Optimize and scale Python code using PyTorch, JAX, and Numba for multi-GPU and multi-node execution.
- Create and maintain reproducible compute environments with containers (Singularity, Docker) and environment managers (conda).
- Perform basic IT system administration tasks for Linux-based local compute infrastructure, including laptops and servers.
- Collaborate with a diverse team of researchers and developers to ensure seamless integration of your work into larger projects.
- Document your work and provide regular updates to the team, ensuring effective communication and knowledge sharing.
- Stay updated with the latest advancements in software development and HPC technologies to enhance your skills and contribute to innovative solutions.
- Assist in testing and debugging processes to ensure the reliability and performance of developed algorithms and systems.
- Currently pursuing or recently completed a Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Strong programming skills in Python, with experience in developing efficient and scalable code.
- Familiarity with HPC environments and an understanding of job scheduling, containerization, and I/O optimization techniques.
- Knowledge of machine learning frameworks like PyTorch and JAX is preferred.
- Experience with containerization technologies (Singularity, Docker) and environment managers (conda) is an asset.
- Basic understanding of Linux system administration, including user management, package installation, and basic troubleshooting.
- Excellent problem-solving and analytical skills, with a proactive approach to learning and adapting to new technologies.
- Good communication skills, both written and verbal, to effectively collaborate with team members and document your work.
- Ability to work independently and manage tasks efficiently, demonstrating a high level of organization and attention to detail.