Dr. Barry Wilkinson University of North Carolina Charlotte

Slides:



Advertisements
Similar presentations
ITCS 3181 Logic and Computer Systems
Advertisements

Today’s Agenda  Syllabus CS2336: Computer Science II.
ITCS 3181 Logic and Computer Systems
1 Course Information Parallel Computing Fall 2008.
1 Course Information Parallel Computing Spring 2010.
CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
Outline.1 Grid Computing Fall 2005 Tuesday/Thursday 11:00 am - 12:20 pm Instructors Dr. Barry Wilkinson University of North Carolina at Charlotte and Dr.
AssignPrelim1.1 © 2011 B. Wilkinson/Clayton Ferner. Modification date: Aug 22, 2011 Course Preliminaries.
CS/CMPE 524 – High- Performance Computing Outline.
CMSC 132: Object-Oriented Programming II
CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CS 524 – High- Performance Computing Outline. CS High-Performance Computing (Wi 2003/2004) - Asim LUMS2 Description (1) Introduction to.
Outline.1 Grid Computing Spring 2007 Tuesday/Thursday 11:00 am - 12:15 pm Instructors Dr. Barry Wilkinson University of North Carolina, Charlotte and Dr.
Outline.1 Grid Computing Spring 2010 Tuesday/Thursday 11:00 am - 12:15 pm Instructors © 2010 B. Wilkinson/Clayton Ferner. Modification date: Dec 20, 2009.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 22, 2011assignprelim.1 Assignment Preliminaries ITCS 6010/8010 Spring 2011.
Computer Network Fundamentals CNT4007C
ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, 2012, Jan 18, 2012assignprelim.1 Assignment Preliminaries ITCS 4145/5145 Spring 2012.
1 MSCS 237 Distributed Computing Spring 2006 INSTRUCTOR: Dr. Sheikh Iqbal Ahamed Office: Cudahy Hall 386 Phone: Office Hours: Monday 2:00-3:00pm.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson.
Course Introduction Software Engineering
ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 3, 2011outline.1 ITCS 6010/8010 Topics in Computer Science: GPU Programming for High Performance.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
1 Software Systems Development CEN Spring 2011 TR 12:30 PM – 1:45 PM ENB 116 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Introduction to Data Structures
CPS120: Introduction to Computer Science Winter 2002 Instructor: Paul J. Millis.
ITCS 4/5010 CUDA Programming, UNC-Charlotte, B. Wilkinson Dec 24, 2012outline.1 ITCS 4010/5010 Topics in Computer Science: GPU Programming for High Performance.
Ministry of Higher Education Sohar College of Applied Sciences IT department Comp Introduction to Programming Using C++ Fall, 2011.
Outline.1 Grid Computing Fall 2008 Tuesday/Thursday 11:00 am - 12:15 pm Instructors Grid Computing, B. Wilkinson, 2008 Aug Dr. Clayton Ferner.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Outline.1 Grid Computing Fall 2011 Tuesday/Thursday 9:30 am - 10:45 pm Instructors © 2011 B. Wilkinson/Clayton Ferner. Modification date: Aug 22, 2011.
ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department.
1 "Workshop 31: Developing a Hands-on Undergraduate Parallel Programming Course with Pattern Programming SIGCSE The 44 th ACM Technical Symposium.
1 Workshop 9: General purpose computing using GPUs: Developing a hands-on undergraduate course on CUDA programming SIGCSE The 42 nd ACM Technical.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Computer Networks CNT5106C
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
ITCS 4145 Parallel Computing Spring 2016
Computer Network Fundamentals CNT4007C
Computer Engineering Department Islamic University of Gaza
CS101 Computer Programming I
CSc 1302 Principles of Computer Science II
Computer Networks CNT5106C
Constructing a system with multiple computers or processors
CSC 111 Course orientation
Computer Science 102 Data Structures CSCI-UA
Computer Networks CNT5106C
EEL4930/5934 Reconfigurable Computing
Dr. Barry Wilkinson © B. Wilkinson Modification date: Jan 9a, 2014
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
EE422C Software Design and Implementation II
Constructing a system with multiple computers or processors
Dr. Barry Wilkinson University of North Carolina Charlotte
Dr. Barry Wilkinson University of North Carolina Charlotte
ECE 8823: GPU Architectures
CIS5930: Advanced Topics in Parallel and Distributed Systems
Computer Engineering Department Islamic University of Gaza
Computer Networks CNT5106C
Term Dr Abdelhafid Bouhraoua
CS 474/674 – Image Processing Fall Prof. Bebis.
EEL4930/5934 Reconfigurable Computing
CSC4005 – Distributed and Parallel Computing
Presentation transcript:

Parallel Programming Fall 2012 Tuesday/Thursday 11:00 am - 12:15 pm Instructors Dr. Barry Wilkinson University of North Carolina Charlotte Dr. Clayton Ferner University of North Carolina Wilmington © 2012 B. Wilkinson/Clayton Ferner. Modification date: Aug 23, 2012 outline.1 1 1

Outline These slides constitute the course outline and include the course syllabus and course policies.

Parallel Computing The use of multiple processors or computers to solve problems at a greater computational speed than using a single computer/processor. Basic idea is simple – using n computers/ processors collectively on a problem should lead to a faster solution. Can tackle problems that could not be solved in a reasonable time otherwise. Also solve problems with higher precision and/or with more memory requirements.

Computer platforms for parallel computing Multiple interconnected computers - Cluster Computing, group of interconnected computers typically using Ethernet switch and physically all in one room. 2. A single computer system with multiple internal processors or cores - Usually shares a common main memory Computer system with attached graphic processing unit (GPU) - GPUs have large number of execution cores, now used for high performance computing as well as original graphics application Combination of above most likely.

UNCC cluster coit-grid01.uncc.edu – coit-grid7.uncc.edu Has all three types of platform. Login from within the campus only Login from on-campus or off-campus coit-grid01 coit-grid02 coit-grid03 coit-grid04 coit-grid07 coit-grid06 coit-grid01-4: Each two Xeon processors (3.4Ghz) 8GB main memory NVIDIA Tesla GPU (448 core Fermi) NVIDIA Tesla GPU (448 core Fermi) coit-grid07: GPU server, X5560 2.8GHz quad-core Xeon processor with NVIDIA 2050 GPU, 12GB main memory coit-grid06: GPU server with NVIDIA 2050 GPU, switch coit-grid05: Dell R900, four quad-core Xeon processors (2.93Ghz) 64GB main memory 1.2 TB disk coit-grid05 All user’s home directories on coit-grid05 (NFS)

Course Prerequisites UNC-C Catalog prerequisites: ITCS 2214 (Data Structures) and ITCS 3181/3182 (Computer Architecture). ITCS 3181/2 not strictly necessary so long as you know what a computer consists of (processors, memory and I/O) and how it operates. What is needed -- basic skills in C and Java.

Course Text Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2nd edition, by B. Wilkinson and M. Allen, Prentice Hall Inc., 2005, ISBN 0-13-140563-2. On-line notes are provided that are derived from the course text – with some updated materials from 2005

Home Pages http://coit-grid01.uncc.edu/abw/ITCS4145F12/ For course notes, assignments, announcements, etc.: http://coit-grid01.uncc.edu/abw/ITCS4145F12/ Password protected: Username: pablo Password: rp19zb39 Please check before each class. Home page also found from link at http://www.cs.uncc.edu/~abw

Course Contents (See course slides for detailed description) Parallel computers: architectural types, shared memory, message passing, interconnection networks, potential for increased speed. (New) Parallel patterns for structured parallel programming, various patterns, use of Seeds framework to create distributed computations. Message passing: MPI message passing APIs, send, receive, collective operations. Running MPI programs on a cluster.

Course Contents (Continued) (New) Introduction to the Paraguin compiler, parallel region, forall, broadcast, gather (New) More computation patterns and their application, divide and conquer, pipeline, iterative synchronous all-to-all, stencil.

Course Contents (Continued) Programming with shared memory programming: Specifying parallelism, sharing data, critical sections, threads, OpenMP. Running threaded/ OpenMP programs on multi-core system, hybrid MPI/OpenMP programs. CPU-GPU systems: data parallel pattern, GPU architecture, programming in CUDA, issues for achieving high performance.

Course Contents (Continued) Algorithms and applications: Selection from: Sorting algorithms Searching algorithms Numerical algorithms Image processing algorithms

Course Grade Letter grades will be assigned according to the following scales and may be curved according to the performance of the entire class. UNC-Wilmington Undergraduate Grade Scale A 93 - 100 A- 90 - 92.99 B+ 87 - 89.99 B 83 - 86.99 B- 80 - 82.99 C+ 77 - 79.99 C 73 - 76.99 C- 70 - 72.99 D+ 67 - 69.99 D 63 - 66.99 D- 60 - 62.99 F 0 - 59.99 UNC-Wilmington Graduate Grade Scale A 93 - 100 A- 90 - 92.99 B+ 87 - 89.99 B 83 - 86.99 B- 80 - 82.99 C+ 77 - 79.99 C 73 - 76.99 C- 70 - 72.99 U 0 - 69.99 UNC-Charlotte Undergraduate Grade Scale A 90 - 100 B 80 - 89.99 C 70 - 79.99 D 60 - 69.99 F 0 - 59.99 UNC-Charlotte Graduate Grade Scale A 90 - 100 B 80 - 89.99 C 70 - 79.99 U 0 - 69.99

Computation of Grades Class quizzes (2) 25% Assignments (6) 50% Final exam 25% The assessment and percentages may be modified. Read small print

Graduate students UNC-C ITCS 5145 and UNC-W CSC 537: There will be additional work in the assignments for graduate students, which will be extra credit for undergraduates. UNC-W CSC 537: Graduate students will give presentation in class on a research topic.

Student Learning Outcomes (SLOs) The learning outcomes for the UNC-W undergraduate parallel computing course are: Students develop solutions and implement the solutions for scientific problems using multiple processors in a cluster. Students acquire knowledge in writing programs which require processes to synchronize and exchange data using Message Passing Interface (API). Students acquire knowledge in writing programs which require processes to spawn multiple treads that share memory on multiple core processors. Students learn to profile parallel programs by placing event probes and to log them for analysis and tuning of the program performance. The Estimate Curriculum Category Content (Semester hours) is: Area Core Advanced Algorithms 1.0 Software design 0.5 Data structures 0.25 Concepts of programming languages Computer organization and architecture

Code of Student Academic Integrity All submitted assignments must be your own work. Copied work or work done by more than one person (unless specifically instructed) will not be accepted - at the very minimum, zero credit - and may be subject to disciplinary action. The Code of Student Academic Integrity applies to both assignments and quizzes/tests.

Due dates for assignments Will be posted on home page with assignment. Assignments can be turned in late but with a penalty. Late Penalty < 24 hours 10% > 24 hours and < 48 hours 20% > 48 hours and < 72 hours 30% > 72 hours 100%

Attendance Attendance is expected. Attendance will be recorded. If you miss classes, it can have a deleterious effect on your grade: After 4 missed classes without good reason: 2 marks off overall accumulated marks (out of 100) for each additional class missed. If you must miss class, see the instructors beforehand to avoid losing marks.

Mid-Term Unsatisfactory Grades UNC-C requires midterm unsatisfactory grades to be submitted by the end of the 8th week of class. Mid term grades Undergraduates: Satisfactory or D or F Graduates: Satisfactory or C or U will be based upon all work graded by week 7, which probably will be two assignments and one class test.

Instructors details UNC-Charlotte Barry Wilkinson Department of Computer Science University of North Carolina, Charlotte Home page: http://www.cs.uncc.edu/~abw Email: abw@uncc.edu Office Hours Tuesday/Thursday: 9:15 am to 10:45 am  outline.21 21

Instructors details UNC-Wilmington Clayton Ferner Department of Computer Science University of North Carolina Wilmington Home page: http://people.uncw.edu/cferner Email: cferner@uncw.edu Office Hours Tuesday/Thursday 2 pm to 3:30 pm outline.22 22

Ask questions during class and participate in class discussion. Expectations Read all materials provided. Read slides before class. Take additional notes during class Ask questions during class and participate in class discussion. outline.23 23

NCREN facility (North Carolina Research and Education Network)‏ Site interaction Each site will be using their NCREN facility, which provides microphones for individuals to speak. Please feel fee to speak at suitable times but remember that NCREN needs to be able to recognize the site and speaker, so first announce your institution and name. outline.24 24

NCREN facility continued Since most microphones are turned on all the time, any sound will be heard across all sites unless a site turns their microphones off, so try to avoid unnecessary sounds. Fans from a laptop can be especially disturbing, so move laptop away from a microphone. Turn cell phones off. outline.25 25

NCREN Video Class Recording The lectures are available on-line after 24 hours.   Details to be provided. outline.26 26