Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
HPC User Forum Dearborn MI April 13, 2010 Paul Buerger Avetec/DICE program firstname.lastname@example.org Jim Kasdorf Pittsburgh Supercomputing Center email@example.com Panel on Training and Developing HPC People
Sharan Kalwani, KAUST Donna Klecka, CSC Rob Meyer, NAG Paul Muzio, CUNY John Picklo, Chrysler Irene Qualters, NSF Panel Members
1. What particular skills are needed for HPC (e.g., programming techniques, numerical techniques, familiarity with hardware such as memory hierarchies, domain-specific knowledge) and which of these skills are in short supply and/or most difficult to master?
2. Are academic programs (e.g., computer science, domain-specific sciences) adequately preparing students for HPC. What should they be doing differently? What about training/preparation outside academia?
Assertions University departments are stove-piped Updating of curriculum takes years Computer science Design the hammer, but don’t build anything Engineering and science curricula Emphasis on theory, not problem solving Faculty have missed the parallel computing revolution Not enough emphasis on use of computations in course work Universities/faculty need to recognize that computations is the third leg of research You can not get a Ph. D. for writing software
Approaches Change the undergraduate curriculum Require engineering and science students to take courses in Numerical algorithms Computer architectures Programming techniques for scientific computing Require computer science students to take courses in Numerical algorithms Science and engineering Encourage interdisciplinary studies Recognize that software is as valuable as a research paper NSF continuing efforts to foster change A big plus
3. How important are specific programming models (eg, MPI, PGAS, OOP) and specific languages (eg, Fortran, C++, JAVA) for HPC?
4. Where does one learn how to write, debug, optimize, and document large codes that are maintainable?
5. How do we deal with the need for life-long (or at least career-long) learning?
6. Is social networking (Facebook, LinkedIn, etc) useful for training recruiting, developing HPC talent?
7. One often hears that such qualities as initiative, curiosity, tenacity, logical reasoning, communication/cooperation, etc. are highly desired by employers. Is there anything special here as relates to HPC?