Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scientific Computing Dr. Guy Tel-Zur 2011B

Similar presentations


Presentation on theme: "Scientific Computing Dr. Guy Tel-Zur 2011B"— Presentation transcript:

1 Scientific Computing Dr. Guy Tel-Zur 2011B
Sunny Yellow Flower. Picture by Sharee Basinger, publicdomainpictures.net Version: :50

2 Survey Linux? CS, Biology, Chemistry, Other Fields? C/C++? Python?
Parallel Computing? CS, Biology, Chemistry, Other Fields?

3 The Course Vision “The crucial need for today's students and readers is to move forward from the older "formula-based" emphasis toward a solution-based course. Solving problems is the heart of modern engineering mathematics and scientific computing. “ – Gilbert Strang – Computational Science and Engineering, page 7, SIAM (2007).

4 What is Computational Physics?
Reference: Resource Letter CP-2: Computational Physics Rubin H. Landau, Am. J. Phys. 76 4&5, April/May 2008

5 A broader view – Computational Science
X=Physics, Biology, Chemistry, … X Computational X CS Math

6 Reference: Resource Letter CP-2: Computational Physics
I am not sure about the word “Truth”. I would be more modest and use the term “Science” Reference: Resource Letter CP-2: Computational Physics Rubin H. Landau, Am. J. Phys. 76 4&5, April/May 2008

7 3 Pillars Computational Science Theory Experiment

8 4 Pillars? Theory Data Mining Experiment Computational Science
2 Computational Pillars See next slide, from Communications of the ACM,

9 September 2010 issue

10 NVIDIA CEO at the GTC2010, Sept. 2010

11 The 3rd Pillar of Science is HPC !!!
HPC = High – Performance Computing

12 What is Computational Physics?
Computational Physics combines physics, computer science and applied mathematics in order to provide scientific solutions to realistic and often complex problems. Areas of application include the nature of elementary particles, the study and design of materials,  the study of complex structures (like proteins) in biological physics, environmental modeling, and medical imaging. A computational physicist understands not only the workings of computers and the relevant science and mathematics, but also how computer algorithms and simulations connect the two. Source:

13 Journals and Magazines…
Springer Journal of Scientific Computing International Journal of Modeling, Simulation, and Scientific Computing (IJMSSC) SIAM Journal on Scientific Computing (SISC) Journal of Advanced Research in Scientific Computing (JARSC)

14 Career Opportunities for Computational Physicists
A graduate degree in physics in areas such as biophysics, condensed matter physics, particle physics, astrophysics to name a few. A career in High-performance and scientific computing, in the energy and aerospace sectors, with chemical and pharmaceutical companies, with environmental management agencies. Employment in firms that develop scientific software, as well as computer games. A research career in an academic, industrial, or national laboratory A teaching career in physics A job in Wall Street. Even Wall Street employers are interested in people with a background in computational physics. Source:

15

16 THE CPUG DEGREE PROGRAM AT OREGON STATE UNIVERSITY
By Rubin H. Landau. CS&E March/April 2004 Source: COMPUTATIONAL PHYSICS FOR UNDERGRADUATES

17 THE CPUG DEGREE PROGRAM AT OREGON STATE UNIVERSITY
By Rubin H. Landau. CS&E March/April 2004 Source: COMPUTATIONAL PHYSICS FOR UNDERGRADUATES

18 Course Building Blocks
Tools Methods Mathematics Case Studies “Mini-Courses” Physics Practice

19 Parallel and distributed computing
Rubin Landau et al, “A Survey of Computational Physics”

20 Scheme on previous slide refers to at least 2 quarters (20 weeks) course
Rubin Landau et al, “A Survey of Computational Physics”

21 Source: http://www. princeton

22 What V&V Means? The problem of quantifying uncertainty:
Validation "Solving the right equations" Verification "Solving the equations right"

23 Tools Programming Languages Numerical Tools Visualization C/C++
Fortran Python Numerical Tools CERN paw/root/Matlab/Octave/Scilab Visualization VTK - grace - Paraview -VisIt -Mayavi Vpython - GNUplot - Workflow Kepler(?) +OpenMP +MPI +Condor

24 Full Scientific Research Study – “Workflow”
Raw Data Number Crunching/Data Analysis Reduced Data Visualization Prototyping (Matlab) “Data Base” Specific Format , e.g. NetCDF Interactive mode “Batch”

25 Parallelism Introducing Parallelism whenever possible is going to be my own “twist” to the course AMD Magny-Cours 12-core processor Power7: IBM’s Next-Generation Server Processor with 8 cores. The chip is 567 mm2 and contains 1.2 billion transistors Recommended Reading:

26 NVIDIA CEO at GTC2010 GPGPU increase presence at the Top500 Supercomputers

27 Serial vs. Parallel - demo
Execute: C:\FlexPDE5student\samples_student\steady_state\fluids\swirl Low cpu utilization Uses only one core

28 Some highlights of the course – Next slides
We will have: Standard “Classical” text PLUS Several “Mini-Courses” – My add-ons Parallel Computing – MPI, OpenMP Batch/Grid Computing – Condor Visualization (next slide) Cluster Computing

29 Let’s have a demo Go to: C:\Users\telzur\Documents\Weizmann\ScientificComputing\SC2011B\Lectures\01\code\HelloOMP Open the solution file in Visual Studio Execute in 1 and 4 threads, watch the “Task Manager” while running.

30 How to build a parallel computing cluster – hands on demo

31 Course Web Site

32 Course Duties 3 home assignments Final Projects
Presentations Final report You are encouraged to bring laptops to class!

33 Course’s Load The following is from: Old Dominion University Physics 420/520 Spring 2010 Keys to success Right motivation, working diligently, effectively and efficiently is the key to success. If you work regularly and allocate enough time each day to practice and complete the assignments on time and keep up with the course, you will get the most out of the course both intellectually and grade-wise. You should invest about 4-5 hours per week outside of class to succeed in this course. This is consistent with university guidelines (i.e. two to three hours of outside preparation time for every credit hour). Students with little or no programming experience (or those who love the subject and wish to do extremely well in it) may want to put in more hours. Please, let me know as soon as possible if you have difficulties and may need extra help. You are recommended to start you assignments well before the last night when your assignments are due. It is a general experience that a computer program usually does not work correctly (if works at all) at the beginning. A search for a problem, or a computer bug, may take more time that you expect.

34 Inspired from: http://physics.bu.edu/~py502/syllabus.pdf
Home Assignments 3 sets of homework problems will be assigned. The students will write computer programs based on computational algorithms discussed in class. These assignments constitute a very important part of the course, since the thinking involved in scientific programming can only be developed through practical work. The assignments must be returned by their stated due dates, unless an extension is granted by the instructor. For late return of assignments, a 10% point deduction will be applied for each late day. Programs should be written in Fortran 90/95 or in C/C++ or in Python. The programs as well as a short report discussing the results should be handed in to the instructor by the stated due date. The solution programs should be sent as an attachment in an to the address The report (hardcopy required) should be handed to the instructor in class before the deadline. Every student is expected to work independently on the assignments. However, discussions with fellow students are allowed, indeed encouraged, as long as they are kept on a general level and do not amount to direct copying of ideas or programming solutions. Although discussions and some degree of cooperation between students is allowed, The material turned in must be independently written. Inspired from:

35 The Final Projects Each student will present his/her topic in front of the class A list of suggested topics will be published at the course website, however You are encouraged to suggest your own topics Have a look at:

36 The Final Projects In the presentations: Describe the project, the computational challenge and the suggested way to the solution (10%) The final project will consist of: a stand alone document that will summarize the whole project and any other relevant file including the source codes and instructions how to compile and execute the programs

37 The Studnts’ presentations
Format: PPT, PPTX, Open Office, PDF, HTML… Language: English Send me the presentations no later than midnight before class day Send them to:

38 The final report Some of the reports will be uploaded to the course website Report structure: Cover page: Your name, title Abstract, Introduction, the main part which deals with your work, conclusions, references and appendices It is recommended to include graphs, charts and tables to demonstrate the properties and results of your work Format: doc(x), TeX, Open Office, PDF Submission by to

39 More tips about the Final Projects
Consult these links:

40 Programming Languages
C/C++ Fortran 90/95 Python Please: No Java!

41 Visualization Tools Xmgrace – 2D, Linux only Python, Python Python!
vPython – included in Python(x,y) Gnuplot – included in Python(x,y) Matplotlib, MayaVi2, Qtiplot – Free for Linux OS (Origin clone) CERN’s PAW/Root (if time will permit) Please no graphics using: MS - Excel

42 LaTeX Learn LaTex, here are a few links to tutorials:
Getting Started With LaTex:

43 LaTeX Recommended Environment (install it on your laptops)
MikTeX: LaTeX Editor: Led - Optional: LyX - (less recommended) Online check your LaTeX equations with Texify:

44 Linux Background Check:

45 Recommended Working Environment

46 Other Options Linux (stand alone / cluster) Dual boot Linux/Windows
Windows + Cygwin Windows only + ports of the needed packages, e.g MinGW Mac

47 Books - I Computational Science and Engineering by Gilbert Strang
MIT Opencourseware:

48 Books - 2 Python Scripting for Computational Science, 3rd. Edition
by H. P. Langtangen TOC: Book web site: Teaching slides:

49 Books - 3 "Computational Physics" By Professor Morten Hjorth-Jensen  from the University of Oslo, Lecture notes in Computational Physics (2009) An Open Source book! In my slides I will give references to Morten Hjorth-Jensen by mentioning “MHJ”

50 Books -4 Introduction to High-Performance Scientific Computing
by Victor Hijkhout, 2010 Free download: Or from Lulu.com: Rev. #311, 6-Feb.-2011

51 From the back cover: The goal of this book is to teach computational scientists how to develop tailored, flexible, and human-efficient working environments built from small programs (scripts), written in the easy-to-learn, high-level language Python. The focus is on examples and applications of relevance to computational scientists: gluing existing applications and tools, e.g. for automating simulation, data analysis, and visualization; steering simulations and computational experiments; equipping old programs with graphical user interfaces; making computational Web applications; and creating interactive interfaces with a Maple/Matlab-like syntax to numerical applications in C/C or Fortran. In short, scripting with Python makes you much more productive, increases the reliability of your scientific work and lets you have more fun - on Unix, Windows and Macintosh. All the tools and examples in this book are open source codes.

52 Books - 5 Scientific Computing: An Introductory Survey
This book presents a broad overview of numerical methods for solving all the major problems in scientific computing, including linear and nonlinear equations, least squares, eigenvalues, optimization, interpolation, integration, ordinary and partial differential equations, fast Fourier transforms, and random number generators. The treatment is comprehensive yet concise, software-oriented yet compatible with a variety of software packages and programming languages. The book features more than 160 examples, 500 review questions, 240 exercises, and 200 computer problems.

53 Join: http://www.meetup.com/ComputationalScience/

54 Stay in Contact My email address: tel-zur@computer.org
Please visit often the course web site! We can setup a google group, facebook, twitter…

55

56 Let’s get started!


Download ppt "Scientific Computing Dr. Guy Tel-Zur 2011B"

Similar presentations


Ads by Google