Today's interview is with Dr. Daniel Gruner of SciNet.
Tell us a bit about your organization and its goals.
SciNet is a High Performance Computing (HPC) consortium. We provide hardware and software platforms for researchers who require HPC in their work. We are also enabling this research, in ways that had not even been thought of before. The enabling is partly due to us having the largest systems in Canada, and partly by helping people port their codes to run on these very large systems.
Tell us a bit about the software your group uses.
We are not a research group, but rather we provide help to researchers. We have expert HPC developers and practitioners, who use the traditional tools of HPC, namely Message Passing (MPI) or shared memory (OpenMP) multithreading techniques to scale out scientific codes.
Tell us a bit about what software your group develops.
Our system administrators mostly develop tools for systems management. Our parallel programming analysts assist in porting users' codes to the parallel HPC platforms, and being scientists themselves they write their own codes as well. The software developed here is mostly for scientific simulations and data analysis.
How do you hope the course will help them?
The course is not really geared to our group, but rather to scientists who are users of our systems. Some of our users are highly skilled software carpenters, but many of them are not. Some develop their own codes, while others use existing software for their simulations or data analysis. Those users who are not skilled carpenters should learn techniques from workflow planning to data management, software development tools to development lifecycle management, data analysis, documentation techniques to version management.
We have found that most students in science and engineering who need to use HPC in their work lack the basic education that your course provides. Not to speak of those disciplines where HPC has not been traditionally used...
How will you tell what impact the course has had?
Hopefully we'll see it in better systems' utilization, smarter approaches to problem solving because the tools will be available and known to the users. We should notice in the way users approach us for help in coding and in running their jobs, and we should be able to interact with users at a higher level of understanding. We should be able to see more and better parallelized codes, more efficient data management, better understanding of how HPC systems operate and how to optimize their utilization.
Originally posted at Software Carpentry.