Skip to the content of the web site.

High Performance Computing Programming Specialist

Department: SHARCNET-Physics Effective Date: March, 2008

USG 11

35 hr/wk

Reports to: SHARCNET Technical Manager

General Accountability

The Shared Hierarchical Academic Research Computing Network (SHARCNET) is a world- class consortium of 17 Ontario colleges and universities in a “cluster of clusters” of high performance computers linked by advanced fiber optics.  SHARCNET provides some of the most powerful HPC infrastructure in Canada for academic research.  SHARCNET is a regional initiative which has developed and continues to develop shared computational, network and personnel resources on behalf of its partner institutions, which currently includes:  The University of Western Ontario, McMaster University, University of Guelph, University of Windsor, Wilfrid Laurier University, University of Waterloo, Brock University, York University, the University of Ontario Institute of Technology, Fanshawe College, Sheridan College, the Ontario College of Art and Design, Perimeter Institute, and Nipissing University. Established in 2001, SHARCNET provides leading-edge computational equipment to accelerate the production of research results for academic and industry partners.  Its members seek linkages between academic researchers and corporate partners in new business opportunities; to attract and retain the best students, researchers and companies; and to create new opportunities for further developing Canada’s knowledge-based economy.

 This position reports to the SHARCNET Technical Manager and is part of the technical team that manages all aspects of the SHARCNET distributed high performance computing: hardware, software and networking infrastructure. The technical team is responsible for ensuring the ongoing operation and effective use of SHARCNET resources and participates in planning for new systems and services. 

Nature and Scope

The HPC Programming Specialists will be responsible for supporting identified research projects, in both traditional HPC disciplines (e.g., physics, chemistry, engineering) and disciplines newer to HPC (e.g., bio-informatics, finance, social science and the humanities), that can take advantage of our HPC infrastructure to realize new results of international significance; providing advice and training on advanced computational algorithms and techniques; undertaking significant program development including large-scale parallel applications and/or novel algorithms and optimization for large systems. It is anticipated that the programming specialists will work closely with research groups and this work may lead to joint publications. The incumbent will interact with research faculty and postdocs and graduate students at Waterloo; also expected to interact with other SHARCNET technical staff and researchers from the SHARCNET consortium as a whole. The HPC Programming Specialist duties will also involve the general support of the SHARCNET researcher community including such responsibilities as conducting seminars and training sessions, assisting researchers will compiling and code optimizing tasks, software support and representing SHARCNET at conferences.

  Organizational Structure:









Minimal. Meets with the Technical Manager and/or Research Group PI on a regular basis to discuss project timelines, work queue, coordinated activities, etc.   Also meets regularly with the local Site Leader and the rest of the Technical Team to discuss related SHARCNET issues. The incumbent is expected to take initiative and responsibility, work fairly independently, manage day-to-work queue and complete specific work requirements in a timely and professional manner.

Statistical Data

Specific Accountabilities

1. Ensure appropriate use of HPC resources by the research community and assist users to identify and investigate problems with software resources.

2. Identify user needs and provide advice on proper tools, programming methodology and code optimization techniques.

3. Ensuring that systems are properly utilized to enable and advance key, large-scale projects. 

4. Assist HPC users in developing, porting, tuning and debugging code.

5. Ensure efficient operation of HPC software packages, including testing their operation and their inter-operation with other software elements. 

6. Identify, evaluate and test new tools and software packages to improve effective use of  the infrastructure. 

7. Develop performance monitoring and evaluation techniques for computing systems in order to identify inefficient user code and system use.

8. Development of machine-optimized algorithms.

9. Develop customized software tools to satisfy user/staff needs.

10. Develop and perform HPC software demonstrations for visiting scientists and at conferences.

11. Develop and provide high performance computing courses, seminars and workshops for users on effective use of software.

12. Organize technical user workshops and training sessions, short courses, both within the institution and SHARCNET.

13. Provide timely reports to local partner supervisor, SHARCNET and PI as required.


The incumbent is expected to take a leading role in initiating or extending simulation code projects for complex application problems. These projects may involve a variety of programming languages and environments, and may target a variety of platforms, including parallel computers and hardware accelerators.


Individual is expected to provide technical leadership in related areas and is actively called upon to participate in projects and committees; identifies required training for SHARCNET members; identifies potential new software and applications.


The incumbent must stay informed about SHARCNET guidelines and policies as they are developed and approved, University or College software use guidelines and policies (must be aware of many from the 16 different SHARCNET institutions), and vendor software regulations.




Is required to communicate with researchers (PIs) and their research groups (graduate students, post docs, undergraduate students, etc.) regarding specific research projects and their HPC software needs/requirements.  Interacts with all levels of SHARCNET management regarding recommendations for software guidelines, training, and policies and procedures pertaining to the operation of the SHARCNET systems.  Communicates as needed with the SHARCNET technical staff (System Administrators and HPC Technical Consultants) and administrative staff; communicates with the Technical Manager to resolve project issues and report on current activities.

 Is required to participate on various committees or projects internally and externally for SHARCNET as required.

 Initiates corrective action with customer or operational problems or potential problems; operates SHARCNET software programs to maximize efficiency; required to independently maintain a reasonable level of technical currency in related areas.  Pro-actively deals with researcher training issues.  Is expected to stay abreast of commercial and open source software from high performance computing and identify new software that may be relevant to SHARCNET users.

Working Conditions