|
|
Subset of Undergraduate and Graduate Courses and Seminars
CSE 191: Discrete Structures (Spring, 2013)
In this course, we present fundamental material that will be used as the foundation for more advanced courses in computer science and engineering. Topics are expected to include, but are not limited to, recursion, iteration, recurrence relations, asymptotic notation, evaluating resources for algorithms, graphs, logic, sets, and some basic counting theory. CSE 191 is required for computer science and computer engineering majors.
CS 237: Introduction to Scientific Computing
This course offers an introduction to the fundamental numerical techniques used in
high-performance scientific computing. These methods include sorting, numerical
integration, root finding for nonlinear systems, elementary linear algebra, and basic
ordinary differential equations. The emphasis of this course is on an experimental
approach to scientific computing. The students will learn the basics of Unix, will write
and debug programs in FORTRAN, and will use computational and visualization tools in
Matlab.
CSE 4/529: Algorithms for Modern Computing Systems
The objective of this course is to teach computational STEM
(Science, Technology, Engineering, and Mathematics) students
the fundamental concepts of design and analysis of algorithms for
modern computing systems, including network-based fine-grained parallel
computers, shared-memory computers, general multi-core and multiple processor
systems, GPU-based systems, clusters, grids, and clouds.
The first part of the course will focus on the introduction of these
computational models, as well as the traditional von Neumann architecture,
and methods of analysis.
The second part of the course will focus on fundamental computational paradigms
and their implementation on a variety of modern computational systems.
Much of the analysis will be considered in terms of running time,
size of data, number of processors/cores, and interconnection networks,
to name a few.
Asymptotic analysis will be used as a measure of these performance metrics and
design options.
Note that this is the ever-evolving popular and effective course in Analysis of
Algorithms (CSE4/531) that I have taught in the Department of
CS/CSE at UB since 1986, which was recently relabeled by the department.
The required text for the course is
Algorithms Sequential and Parallel: A Unified Approach (Third Edition). NB: First or second edition of book will not suffice.
CSE 4/531: Analysis of Algorithms
This course focuses on the design and analysis of algorithms targeted at
modern computational systems, including fine-
and coarse-grained multi-core and multi-processor systems.
The required text for the course is Algorithms Sequential &
Parallel: A Unified Approach (Second Edition).
- Spring 2014 - I have not been scheduled to teach this course. My apologies, while I would love to teach this course, the scheduling is out of my control.
- Spring 2013 - I have not been scheduled to teach this course. My apologies, while I would love to teach this course, the scheduling is out of my control.
- Spring 2012
- Spring 2011
- Spring 2010
- Spring 1998
- Spring 1997
- Spring 1996
CSE 633: Parallel Algorithms
The focus of this course is on the design, implementation, and analysis of
student-chosen parallel solution(s) to disciplinary problems of interest
to the student and their implementation on modern large-scale
multiprocessor/multi-core/GPGPU-based systems.
Students will have access to a variety of large multiprocessor systems and
will receive instruction on the efficient utilization of such systems in
addition to a variety of means (MPI, OpenMP, CUDA) of implementing algorithms
to run efficiently on such systems.
The required text is
Parallel Algorithms for Regular Architectures.
A recommended book for students interested in CUDA is
CUDA by Example: An Introduction to General-Purpose GPU Programming.
- Fall 2012: Covers both theoretical parallel algorithms and experimental (hands-on) parallel computing.
- Talks by Dr. Matt Jones and Cynthia Cornelius, both on staff at CCR,
covered an introduction to CCR and their systems, logging into and submitting jobs to CCR's clusters, MPI programming, OpenMP programming, and debugging, to name a few. Notes on this material may be found at
CCR Training Material.
- Computational Science & Engineering, Structural Biology, and 21st Century Academia, Russ Miller
- Parallelized Hash Collision Attacking, Benedikt F. Budig.
- Parallel PageRank Computation using MPI, Eric Li.
- Parallel Convex Hull using MPI, Alex Vertlieb.
- Cellular Automata, Nils Wisiol.
- An Implementation of Parallelizing Dijkstra's Algorithm, Zilong Ye.
- Parallelized Random Forests Learning, Jie Hu.
- Finite-size Facility Placement in an Existing Layout Using MPI and C, Ketan Date.
- Parallel Algorithm for Dense Matrix Multiplication, Patricia Ortega.
- Parallel Implementation of Gradient Descent, Hui Li.
- Artificial Bee Colony Algorithm using MPI, Pradeep Yenneti.
- N-Body Simulation, Sanjeev Pandey.
- Determining Line Segment Visibility with MPI, Jayan Patel.
- Parallel implementation of Apriori algorithm and association of mining rules using MPI, Sujith Mohan Velliyattikuzhi.
- Global Sequence Alignments using C/MPI, Ravi Patel.
- Parallel K-means Clustering, Ajay Padoor Chandramohan.
- Polynomials and Coding, Jimmy Dobler.
- Parallel Nash Equilibria in Bimatrix Games, Isaac Elbaz.
- Parallel Apriori Algorithm and Frequent itemsets with Gene Expression Data, Hyunwoo Sung.
- Fall 2011: Covers both theoretical parallel algorithms and experimental (hands-on) parallel computing.
- Talks by Dr. Matt Jones and Cynthia Cornelius, both on staff at CCR,
covered an introduction to CCR and their systems, logging into and submitting jobs to CCR's clusters, MPI programming, OpenMP programming, and debugging, to name a few. Notes on this material may be found at
CCR Training Material.
- The QR Algorithm for Finding Eigenvectors, Eric Mikida
- Parallelizing Matrix Multiplication, Sandeep Raghuraman
- Finding Prime Numbers Using MPI and C, Andrew Wantuch
- Parallel AES Implementation, Chris Norman
- Parallelized Convolution, Venkata Nanda Kishore Buddhiraju
- Implementation of Quadratic Sieve Algorithm using MPI, Kiran Kamisetty
- Ant Colony System using MPI, Sachin Bhatt
- Implementing a Point Domination Query using MPI, Eric Nagler
- Height Map Generation with GPUs, Ravi Kiran Chilakapati
- Transfer Learning on Unsupervised Imbalanced Dataset, Kang Li
- Parallel Spectral Clustering in Distributed Systems, Liang Ge
- Construction Gene coexpression Network, Nan Du
- Parallel Solution of Marginal Fisher Analysis, Suxin-Guo
- Parallel Knuth Morris Pratt String Matching, Laurie Dening
- Fall 2010: Covers both theoretical parallel algorithms and experimental (hands-on) parallel computing.
- Overviews of MPI, OpenMP, and CCR systems provided by guest lecturers from
CCR, Cynthia Cornelius and Dr. Matt Jones. Details and links below (under Spring 2009).
- Introducation to CUDA, Matt Heavner, guest lecturer.
- Generating RSA Primes, James Townsend
- Parallel Connected Component Labeling for Image Analysis, Yang Fei
- HADOOP AND RDBMS HOOK UP, Xiao Li
- A Parallelized Solution for the Traveling Salesman Problem using Genetic Algorithms, Sagar Keer
- Parallel String Match, Rohit Bal
- Study of parallel sorting algorithm, Zhihong Wei
- MPI simulation of a MIMO node choosing algorithm, Xiaoxing Yu
- Parallel Implementation of Mining Highly Interacted Attribute Pairs, Jianmei Yang
- Parallel Computing with Browsers: Bin Packing Edition, John Longanecker
- Mandelbrot Real Time Zooming in DSM Architecture, Prakash Nair
- N-Body Simulation using CUDA, Suraj Balchand
- CUDA Implementation of the Lattice Boltzmann Method, Andrew Leach
- Exploring Reversi Endgames via Parallelization, Devanshu Pandey
- Spring 2009: Covers both theoretical and experimental (hands-on) parallel
algorithms.
- Supercomputing in Plain English: A High Performance Computing Workshop Series, Spring 2009 Workshop.
Lectures and Exercises available as well as live meetings via Access Grid, Polycom, QuickTime Broadcaster, etc.
- Short Homework Assignment, which was used as Hwk #3 in HPC1, Fall 2008. The MPI version of this assignment implemented on U2 (CCR) is due in 1 week. Thanks to Dr. Matt Jones for providing this.
- Introduction to Using the High Performance Cluster at the Center for Computational Research, guest lecture by
Ms. Cynthia Cornelius,
Center for Computational Research
- Overview of Parallel Programming at CCR, a guest lecture by
Dr.Matt Jones,
Center for Computational Research
- Intermediate MPI, guest lecture by
Dr.Matt Jones,
Center for Computational Research
- Advanced MPI, guest lecture by
Dr.Matt Jones,
Center for Computational Research
- Shared Memory Programming with OpenMP, guest lecture by
Dr.Matt Jones,
Center for Computational Research
- Practical Issues in OpenMP, guest lecture by
Dr.Matt Jones,
Center for Computational Research
- Application Performance Tuning, guest lecture by
Dr.Matt Jones,
Center for Computational Research
- MPI Quick Reference: Compiling/Running, guest lecture by
Dr.Matt Jones,
Center for Computational Research
- Fingerprints via EM, Chang Su
- Identification of Functional Modules in Protein Interaction Networks, Lei Shi
- Parallel AutoClass, Kevin Keane
- A Parallel Algorithms for Maximal Clique Detection, Steven Kapturowski
- Stationary Temperature Distribution in a Square Plate, Jesper Dybdahl Hede
- Parallel implementation of FRAME - Filters, Random Fields and Maximum Entropy, Rocardo Nagel Rogrigues
CSE 701: Cyberinfrastructure (Spring 2008)
CSE 704: Programming Massively Parallel GPGPU Systems (Spring, 2013)
- This seminar focuses on student projects involvinig high-performance
computing systems. Students are expected to have previous experience programming
HPC systems using, for example, OpenMP, MPI, CUDA, or similar. Students will
work on projects of their own choosing.
- We will meet weekly, at a time convenient to all of those who register,
and discuss goals and progress. Students will share experiences and information
in an effort to expedite the progress of all participants.
- Please see information on related seminars below.
- Available for 1, 2, or 3 credits.
- Tutorials and fundamental information (e.g., MPI, PBS, CUDA, etc.) can be found through the material listed under CSE633 and the related CSE7XX seminars below.
CSE 704: Programming Massively Parallel GPGPU Systems (Spring, 2012)
CSE 704: Programming Massively Parallel GPGPU Systems (Spring, 2011)
- Using MPI to Break Data Encryption, James Townsend, 4/2011.
- Condor and the Hadoop File System with a Packing Problem, Phil Matuskiewicz, 4/2011.
- Mersenne Twister Implementation on a GPU, Rohit Bal & Sagar Keer, 4/2011.
- Parallel Computing with Browsers, John Longanecker, 4/2011.
- Network Car Race Game, Pankaj Kumar Yadav, 4/2011.
- OpenGL Visualization of the N-Body Problem, Suraj A. Balchand & Andrew Leach, 4/2011.
- Evolving Creatures, Thomas J. Hartnett, 4/2011.
CSE 710: Programming Massively Parallel GPGPU Systems (Fall, 2009)
- Overview of Magic, Kevin Clearly, 9/2009.
- CUDA, OpenMPI, OpenMP Basics, Matt Heavner, 9/2009.
- Massively Parallel Traveling Salesman Genetic Algorithm, Matt Heavner, 12/2009.
- Factorization of a Large Number, Morgan Cooper, 12/2009.
- N Body Gravitational Problem, Srinivasan Manoharan, 12/2009.
- MergeSort over CUDA, MPI, and openMP, Brady Tello, 12/2009.
- Computation of Pi using CUDA, Dan Padgett, 12/2009.
This seminar series (2004-present) focuses on fundamental aspects of Grid
computing and Cyberinfrastructure. Some of the student presentations are
available below.
Grid Scheduling Ontology, Shreyansh Vakil, Fall 2006
Data Grids, Hanumant Singh, Fall 2006
Semantic Grids, Arun Mirpuri, Fall 2006
Grid Resource Broker, Abhishek Singh, Fall 2006
Grid Security Infrastructure, Sergey Chernokozinskiy, Fall 2006
Approaches to Resource Discovery in Computational Grids, Anurag Bhardwaj, Fall 2006
SnBDCV: Distributed Collaborative Visualization, Amin Ghadersohi, Fall 2006
Open Grid Services Architecture and Data Grids, Karthik Ram Venkataramani, Spring 2004
Autonomic Computing and Grid, Catherine L. Ruby, Spring 2004
Narada Brokering, Martins Innus, Spring 2004
Data Grid Scenario Builder, Catherine L. Ruby, Spring 2004
Grid Resource Allocation, Teena Vyas, Spring 2004
Condor and the Grid, Karthikram Venkatarmani, Spring 2004
Peer-to-Peer Grids, Michael Fritz, Spring 2004
Data Grid Generating Tool, Catherine L. Ruby, Spring 2004
This "seminar" is open to graduate students and undergraduates, by
permission of instructor. Topics to be covered include HTML, CGI, perl, Java, and issues
of security, to name a few.
CCR-Affiliated Summer Workshops, Courses, and Certificates
|
|