Computational Science and Engineering at Berkeley Jim Demmel EECS & Math Departments www.cs.berkeley.edu/~demmel 20 Jan 2009 4 Big Events • Establishment of a new graduate program in Computational Science and Engineering (CSE) • “Multicore revolution”, requiring all software (where performance matters!) to change • ParLab • New Buildings to house research activities • CITRIS and CRT • Cloud computing • RadLab Outline • New “Designated Emphasis” in CSE – Goals – Participants (112 faculty – so far) – Resources and Opportunities – Course Structure • A few research projects Designated Emphasis (DE) in CSE • New “graduate minor” – started July 1, 2008 • Motivation – Widespread need to train PhD students in CSE – Opportunities for collaboration, across campus and at LBNL – 18 (20) departments, 85 (112) faculty signed up (so far) • Graduate students participate by – – – – – – Getting accepted into existing department/program Taking CSE course requirements Qualifying examination with CSE component Thesis with CSE component Receive “PhD in X with a DE in CSE” Details at cse.berkeley.edu Participating Departments (1/2) ( # faculty by “primary affiliation”, # courses ) • • • • • • • • • • Astronomy (7,3) Bioengineering (3,1) Biostatistics (2,0) Chemical Engineering (6,0) Chemistry (8,1) Civil and Environmental Engineering (7,8) Earth and Planetary Science (6,3) EECS (19,14) IEOR (5,5) School of Information (1,0) Participating Departments (2/2) ( # faculty by “primary affiliation”, # courses ) • • • • • • • • • • Integrative Biology (1,0) Materials Science and Engineering (2,1) Mathematics (15, 4) Mechanical Engineering (9, 6) Neuroscience (7,1) Nuclear Engineering (2,1) Physics (1,1) Political Science (2,0) Statistics (5, 11) New: Biostatistics, Public Health Resources (1/4) • Executive Director Masoud Nikravesh • Money – Annual for staff support – One time, for course development – CITRIS • Research initiation funds • Access to corporate partners • GSI support, broadcast to other campuses Resources (2/4) • Space – CITRIS Building - early 2009 • staff offices, seminar, machine room (1400 sq ft) – LBNL CRT Building - 2011 Resources (3/4) • Existing computing resources – EECS clusters - www.millennium.berkeley.edu • Getting old – LBNL / NERSC • CS267 class accounts • Start-up allocations on supercomputers – Needs to be of potential interest to DOE • Potential new resources – Yahoo, … Resources (4/4) • LBNL – Besides space and cycles: Expert CSE advice, collaborators, short courses – Internships for students (grad or undergrad) • MSRI – Workshops, short courses Course Structure • 3 kinds of students, course requirements – CS , Math, “Applications” • Each kind of student has 3 course requirements in other two fields – Goal: enforce cross-disciplinary training – Non-CS & Non-Math students: • 1 or 2 Math courses from list • 1 or 2 EECS courses from list • Other classes from Math, Stat, IEOR – Math & CS students: substitute 1 or 2 courses from “applied” department for 1 or 2 inside • May distinguish EECS and CS students • We have $ to support new course development EECS Courses (so far) • • • • • • • • • • • • CS267 – Applications of Parallel Computers CS270 – Combinatorial Algs. & Data Structures CS274 – Computational Geometry CS280 – Computer Vision CS281A – Statistical Learning Theory CS281B – Learning and Decision Making CS284 – Geometric Design and Modeling CS285 – Solid Modeling and Fabrication CS294-10 – Visualization EECS225AB– Digital Signal and Image Processing EECS227A – Convex Optimization EECS228B – Convex Approximation Other Computational Courses (1/6) • Mathematics – – – – Ma 221 - Numerical Linear Algebra Ma 228AB - Numerical Solution of Differential Equations Ma 220 - Probabilistic Methods New course being developed • Industrial Engineering and Operations Research – – – – IEOR 261: Experimenting with Simulated Systems IEOR 262AB: Mathematical Programming IEOR 264: Computational Optimization IEOR 269 Integer Programming and Combinatorial Optimization Other Computational Courses (2/6) • Statistics – – – – – – – – – – Stat 215AB: Statistical Models: Theory and Application Stat 230A: Linear Models Stat 232: Experimental Design Stat 240: Nonparametric and Robust Methods Stat 241A: Statistical Learning Theory (same as CS281A) Stat 241B: Advanced Topics in Learning and Decision Making (same as CS281B) Stat 244: Statistical Computing Stat 245AB: Biostatistical Methods Stat 246: Statistical Genetics Stat 248: Time Series Analysis Other Computational Courses (3/6) • Astronomy – Astro 202: Astrophysical Fluid Dynamics – Astro 204: Numerical Techniques in Astronomy – Astro 255: Computational Methods in Theoretical Astrophysics • Bioengineering – BE 243: Computational Methods in Biology • Chemistry – Chem 220AB: Statistical Mechanics – Chem 221AB: Advanced Quantum Mechanics – Chem 295: Molecular Simulation Other Computational Courses (4/6) • Civil and Environmental Engineering – – – – – – – – CEE 200A: Environmental Fluid Mechanics CEE 200B: Numerical Modeling of Environmental Flows CEE 221: Nonlinear Structural Analysis CEE 222: Finite Element Methods CEE 224: Computer Aided Engineering CEE 229: Structural System Reliability CEE 233: Computational Mechanics CEE 234: Computational Inelasticity • Earth and Planetary Science – EPS 204: Elastic Wave Propagation – EPS 206: Geophysical Inverse Methods – EPS 236: Geological Fluid Mechanics Other Computational Courses (5/6) • Electrical Engineering and Computer Sciences – EECS 219A: Computer-Aided Verification of Electronic Circuits and Systems • Engineering – E 266A: Finite Difference Methods for Fluid Dynamics – E 266B: Spectral Methods for Fluid Dynamics • Material Science and Engineering – MSE 215: Introduction to Computational Materials Science • Mechanical Engineering – – – – ME 280A: Introduction to the Finite Element Method ME 280B: Finite Element Methods in Nonlinear Continua ME 287: Multiscale Modeling the Design of New Materials ME 290D: Solid Modeling Other Computational Courses (6/6) • Molecular and Cell Biology – C 246: Topics in Computational Biology and Genomics – MCB 262: Computational Neuroscience • Nuclear Engineering – NUC 255: Numerical Methods for Reactor Analysis • Physics – C 203 – Computational Nanoscience • Plant and Microbial Biology – PMB 200B: Genomics and Computational Biology More on possible new courses (1/6) • Possible obstacles to students – Long prerequisite chains – Important material spread over multiple courses – Repetition of basic material in multiple courses • 23 faculty identified following needs, opportunities: – New 3 unit survey course in numerical methods – 23 new 1-unit classes with this as prerequisite – “Segmented courses” where one can take subset for fewer units • www.cs.berkeley.edu/~demmel/IGERT06_Curriculum.pdf More on possible new courses (2/6) • Numerical Methods Course (3 units) – Boil down Math221, Ma228AB, other material into one • Possible text by Heath (UIUC) – Linear & nonlinear equations – Eigenvalue/vector problems – Optimization – Inverse problems – Numerical integration, interpolation – FFT – ODEs, PDEs More on possible new courses (3/6) • Possible new 1 unit courses – Application of spectral methods to fluid flows – Boundary element methods – Climate modeling – Collisionless shock waves and PIC plasma simulation – Computational Astrophysics – Contact Mechanics – Finite Elements – Boundary integral methods for elliptic PDE – Finite dimension (control) systems More on possible new courses (4/6) • More possible new 1 unit courses – Fourier transforms and wavelets – Imaging, color issues, multidimensional PDFs – Interface techniques and level sets – Large eddy simulations – Lattice-Boltzmann Methods – Maximum likelihood, least squares, median fitting – Mesoscale atmospheric boundary layer modeling – Monte Carlo methods – Multiscale modeling and design of new materials More on possible new courses (5/6) • Still more possible new 1 unit courses – Numerical optimization – Principal component analysis of climate data – Sparse matrix computations – Turbulence modeling for stratified flows – Visualization More on possible new courses (6/6) • Segmented 3-unit courses – Parallel Computing (CS267) – Numerical solution of differential equations (Ma228AB) • At least $50K available to support new course development (thanks to Deans Richards & Sastry) Possible Research Topics (1/2) • A small selection from among the 112 faculty – Some require tightly coupled computing, some ok on “cloud” • Astronomy (10 faculty) – Some simulations (large scale, many smaller scale), some large data sets (up to terabytes/day) • Chemistry and Chemical Engineering (12 faculty) – Some large-scale simulations, some less tightly coupled • Ex: New materials for energy via QMC, chemical database screening • Neuroscience and Cognitive Computing (8 faculty) – Some large scale simulations (of brain, auditory system) – Some large data set analysis (crcns.org) Possible Research Topics (2/2) • Computational systems biology (9 faculty) – “Digital Human”, many layers of simulation • Econ/EECS/IEOR/Math/PoliSci/Stat (9 faculty) – Statistical analysis and visualization of large scale heterogeneous data bases of economic, financial, social data – Ex: statnews.eecs.berkeley.edu/about/project for news analysis • Economics (8 faculty, including 1 Nobelist) – Econometric and social modeling • Ultra-efficient Climate Computer (7 faculty + staff) – Joint with LBNL – 100x lower power than current supercomputers Extra Slides Challenges/opportunities for using Clouds for HPC • Need to gang schedule processors – Batch schedulers for clusters well understood, but need to run in cloud environment – Need interface to run MPI jobs • Autotuning – Patterns/Motifs/Dwarfs for Clouds – Picking best algorithm no matter which resources – Impact of likely higher latency, lower bandwidth • Research in novel “communication-avoiding” algorithms • Some jobs access “large” databases – Up to terabytes/day generated Managing the DE • • • • • • Standard By-Laws in Sec. E of proposal Nominating Committee Executive Committee Admissions Committee Curriculum Committee Graduate Advising Committee Managing the DE • Nominating Committee – Propose candidates for annual election of Exec Comm – L&S Dean Mark Richards, COE Dean Shankar Sastry, Jim Demmel Managing the DE • Executive Committee – 5 members: 1 Math, 1 CS, 3 other, elected annually • 2 year and 1 year terms – Anyone could nominate – deadline was 5/23 – Final List of Nominees • • • • • Jim Demmel – CS (joint appt in Math) - Chair James Sethian – Math Jonathan Arons – Astronomy Martin Head-Gordon – Chemistry Tarek Zohdi – Mechanical Engineering – Balloting by email (was distributed June 9), due June 13 • Election completed, 68 in favor, none opposed (6/23) Managing the DE • Executive Committee (continued) – Duties • Review faculty membership, program affiliations • Nominate Head Graduate Advisor to Graduate Dean • Manage website design • Appoint other committee members • Make trains run on time Thanks for volunteering Managing the DE • Admissions Committee – Establish student admissions criteria – Review applicants, recommend to Head Graduate Advisor for admission – Recruitment Managing the DE • Curriculum Committee – Review and update list of courses – Review qualifying exam and dissertation requirements – Help identify needs for new courses, developers and instructors for these courses, recommend funding support to Exec Comm Managing the DE • Graduate Advising Committee – Review mechanisms for advising students – Assist Head Graduate Advisor to • Review and approve individual course selections • Review Qual and Dissertation committees to make sure a DE member is included • Review petitions for exceptions – Dept. rules about Qual Committee members • What if adviser CSE member, but not allowed to be on Qual committee? – Use external examiner – Dept. rules about internal, external advisers? Managing the DE • Computer Committee? – Do we need another committee? – Possible duties: • Survey computing needs (HW & SW) • Allocate space in CITRIS machine room • Identify common SW needs (to buy and to teach) Example Course – CS267 • “Applications of Parallel Computing” – see www.cs.berkeley.edu/~demmel (later today) • Taught every Spring, this semester to: – UC Berkeley (45 Grad + 5 Undergrad), – UC Davis, UC Merced, UC Santa Cruz • Google “parallel computing course”, doing “I’m feeling lucky”, gets older version • CSE topics expanding to include ideas from ParLab Math Courses (so far) • Ma220 – Probabilistic Methods • Ma221 – Numerical Linear Algebra • Ma228AB – Numerical Solutions of Differential Equations Stat Courses (so far) • • • • • • • • • Stat215AB: Statistical Models Stat230A: Linear Models Stat232: Experimental Design Stat240: Nonparametric and Robust Methods Stat241AB: Statistical Learning and Decision Theory (cross-listed with CS) Stat244: Statistical Computing Stat245AC: Biostatistical Methods Stat246: Statistical Genetics Stat248: Time Series Analysis IEOR Courses (so far) • • • • IEOR261: Experimenting with Simulated Systems IEOR262AB: Mathematical Programming IEOR264: Computational Optimization IEOR269: Integer Programming and Combinatorial Optimization