Dr. Barry Wilkinson © B. Wilkinson Modification date: Jan 9a, 2014

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.
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.
AssignPrelim1.1 ITCS 4146/5146 Grid Computing, 2007, UNC-Charlotte, B. Wilkinson. Jan 13, 2007 Course Preliminaries.
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.
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) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
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.
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.
ITCS 4/5010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Dec 28, 2012assignprelim.1 Assignment Preliminaries ITCS 4010/5010 Spring 2013.
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
IPC144 An Introduction to Programming Using C. Instructor Murray Saul Office: Rm –Office hours are posted on my IPC144 web page or on bulletin board.
Course Information Sarah Diesburg Operating Systems COP 4610.
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.
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.
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University
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.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Computer Networks CNT5106C
Constructing a system with multiple computers or processors 1 ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson. Jan 13, 2016.
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
Andy Wang Object Oriented Programming in C++ COP 3330
Computer Engineering Department Islamic University of Gaza
CS101 Computer Programming I
Computer Networks CNT5106C
Course Information Mark Stanovich Principles of Operating Systems
Constructing a system with multiple computers or processors
Assignment Preliminaries
Syllabus Guidelines and Other Instructor/Student Policies
CS 201 – Data Structures and Discrete Mathematics I
Computer Networks CNT5106C
EEL4930/5934 Reconfigurable Computing
Andy Wang Object Oriented Programming in C++ COP 3330
Dr. Barry Wilkinson University of North Carolina Charlotte
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
EE422C Software Design and Implementation II
Andy Wang Operating Systems COP 4610 / CGS 5765
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 Networks CNT5106C
Instructor: Xiuwen Liu Department of Computer Science
Types of Parallel Computers
Term Dr Abdelhafid Bouhraoua
EEL4930/5934 Reconfigurable Computing
CPE 626 Advanced VLSI Design, Spring 2002 Admin
CSC4005 – Distributed and Parallel Computing
Presentation transcript:

ITCS 4/5145 Parallel Computing Spring 2014 Tuesday/Thursday 5:00 pm - 6:15 pm Instructor Dr. Barry Wilkinson © 2014 B. Wilkinson Modification date: Jan 9a, 2014 outline.1 1 1

Home Page http://cs.uncc.edu/~abw/ITCS4145S14/ Password: rp19zb39 For course notes, assignments, announcements, etc.: http://cs.uncc.edu/~abw/ITCS4145S14/ Password protected: Username: pablo Password: rp19zb39

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 used for course ssh to user gateway cci-gridgw.uncc.edu Login coit-grid06 cci-grid07 cci-grid08 coit-grid01 coit-grid02 coit-grid03 coit-grid04 cci-grid09 C2050 GPU (448 core) C2050 GPU (448 core) K20 GPU (2496 core) cci-grid09: Dual AMD Opteron 6376 2.3 GHz 16-core each, with 16 GB main memory RAID1 disks, redundant power supplies, VM, web server, user gateway login, SSH, NAT, DHCP, DNS, and LDAP, etc. coit-grid01-4: Each two Xeon 3.4 Ghz processors, 8GB main memory coit-grid06: GPU server, with NVIDIA 2050 GPU cci-grid08: GPU server, E5-1650 3.2 GHz 6-core Xeon processor with NVIDIA K20 GPU, 32 GB main memory cci-grid07: GPU server, X5560 2.8GHz quad-core Xeon processor with NVIDIA 2050 GPU, 12GB main memory switch cci-grid05: Four quad-core 2.93Ghz Xeon processors 64GB main memory 1.2 TB disk (RAID 5) cci-grid05 All user’s home directories on cci-grid05 (NFS) Has all three types of platform. Note: Some names have been changed from coit- to cci-

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. This course is a programming course.

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

Course Contents Parallel computers: architectural types, shared memory, message passing, interconnection networks, potential for increased speed. Parallel patterns for structured parallel programming, motives, advantages, introduction to various patterns, tools. Seeds pattern programming framework to create distributed computations.

Course Contents (Continued) Message passing: MPI message passing APIs, send, receive, collective operations. Running MPI programs on a cluster, implement patterns with MPI. Using compiler directives for pattern programming, Paraguin compiler. 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

Assessment Class quizzes (2) 25% Assignments (5) 50% Final exam 25% The assessment and percentages may be modified. Read small print There will be additional work in the assignments for graduate students, which will be extra credit for undergraduates.

Course Grade Undergraduate Graduate Grade Scale Grade Scale A 90 - 100 B 80 - 89.99 C 70 - 79.99 D 60 - 69.99 F 0 - 59.99 Graduate Grade Scale A 90 - 100 B 80 - 89.99 C 70 - 79.99 U 0 - 69.99 Some curving likely, depending upon course averages. A student with an average score should expect an average grade.

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. Attendance will be checked especially for border-line between final course grades. Good attendance will encourage moving up grades.

Mid-Term Unsatisfactory Grades UNC-Charlotte 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.

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.19 19

Instructor 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: 2:30 pm to 4:30 pm  outline.20 20

Course Teaching Assistant Mrunal Nargunde mnargund@uncc.edu Contact TA on matters such as user accounts, UNC-C cluster not functioning, and software issues. If a system issue also copy email to me at abw@uncc.edu Contact me for matters such as posted course materials and assignment write-up, or general assistance.

Questions