Parallel Matlab Vikas Argod Research Computing and Cyberinfrastructure

Slides:



Advertisements
Similar presentations
NGS computation services: API's,
Advertisements

MATLAB Parallel Computing Toolbox A.Hosseini Course : Professional Architecture.
Parallel Computing Glib Dmytriiev
A synthetic noise generator M. Hueller LTPDA meeting, AEI Hannover 27/04/2007.
Tutorial on Matlab and OpenCV Rui Ma TA of CMPT 414 May 14, 2013 Office hours: Fridays 11:00-12:00, CSIL TA Office 1 (ASB 9838)
StatLab Workshop Yale University Maximiliano Appendino, Economics October 18 th, 2013.
Problems and solutions Session 3. Introduction to MATLAB - Solutions 3 Problems 1. Write function Xn = mspolygon(X,x0,a) that scales the INPUT polygon.
Introduction to MATLAB The language of Technical Computing.
Introduction to Matlab
Parallel Computing in Matlab
Introduction to Matlab Workshop Matthew Johnson, Economics October 17, /13/20151.
CSE431 Chapter 7A.1Irwin, PSU, 2008 CSE 431 Computer Architecture Fall 2008 Chapter 7A: Intro to Multiprocessor Systems Mary Jane Irwin (
A Complete GPU Compute Architecture by NVIDIA Tamal Saha, Abhishek Rawat, Minh Le {ts4rq, ar8eb,
Parallel Scripting on Beagle with Swift Ketan Maheshwari Postdoctoral Appointee (Argonne National.
Chapter 11 Gaussian Elimination (I)
1 AMS 200 Week 3 Computing Resources and Electronic Resources Hongyun Wang.
Copyright © 2007, SAS Institute Inc. All rights reserved. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks.
Computations have to be distributed !
Optimus: A Dynamic Rewriting Framework for Data-Parallel Execution Plans Qifa Ke, Michael Isard, Yuan Yu Microsoft Research Silicon Valley EuroSys 2013.
Maths for Computer Graphics
Introduction to Matlab By: Dr. Maher O. EL-Ghossain.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Computer Science in Practice This course is an introduction to problems (and solutions) that arise in applied fields of computer science such as machine.
“Compiler and Runtime Support for Enabling Generalized Reduction Computations on Heterogeneous Parallel Computations” By Ravi, Ma, Chiu, & Agrawal Presented.
Robert’s Rules of Matlab. Disclaimer: My usual processing flow is to use c or fortran codes linked together via tcsh scripts. I find Matlab to be really.
Parallel Computing with MATLAB
Matlab ® Distributed Computing Server CBI Laboratory Release: R2012a Sept. 28, 2012 By: CBI Development Team.
What is MATLAB ? MATrix LABratory –Originally, it was a front-end to FORTRAN matrix routines developed in the U. of New Mexico and Stanford –Today.
Pregel: A System for Large-Scale Graph Processing
Task Farming on HPCx David Henty HPCx Applications Support
Parallelization with the Matlab® Distributed Computing Server CBI cluster December 3, Matlab Parallelization with the Matlab Distributed.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
MATLAB Lecture One Monday 4 July Matlab Melvyn Sim Department of Decision Sciences NUS Business School
Nonparametric Econometrics1 Intro to Matlab for Data Analysis and Statistical Modeling.
© 2008 The MathWorks, Inc. ® ® Parallel Computing with MATLAB ® Silvina Grad-Freilich Manager, Parallel Computing Marketing
Venkatram Ramanathan 1. Motivation Evolution of Multi-Core Machines and the challenges Summary of Contributions Background: MapReduce and FREERIDE Wavelet.
LOGO Scheduling system for distributed MPD data processing Gertsenberger K. V. Joint Institute for Nuclear Research, Dubna.
1 © 2014 The MathWorks, Inc. HPC with MATLAB Making parallel programming simple Jos Martin, Principal Architect, Parallel Computing Tools
Pregel: A System for Large-Scale Graph Processing Presented by Dylan Davis Authors: Grzegorz Malewicz, Matthew H. Austern, Aart J.C. Bik, James C. Dehnert,
Slide 1 MIT Lincoln Laboratory Toward Mega-Scale Computing with pMatlab Chansup Byun and Jeremy Kepner MIT Lincoln Laboratory Vipin Sachdeva and Kirk E.
GraphLab: how I understood it with sample code Aapo Kyrola, Carnegie Mellon Univ. Oct 1, 2009.
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
Parallel Computing with MATLAB Jemmy Hu SHARCNET HPC Consultant University of Waterloo May 24,
Parallel Computing with Matlab CBI Lab Parallel Computing Toolbox TM An Introduction Oct. 27, 2011 By: CBI Development Team.
1 © 2012 The MathWorks, Inc. Parallel computing with MATLAB.
Multiprocessing. Going Multi-core Helps Energy Efficiency William Holt, HOT Chips 2005 Adapted from UC Berkeley "The Beauty and Joy of Computing"
MATLAB Harri Saarnisaari, Part of Simulations and Tools for Telecommunication Course.
Introduction to Matlab. Outline:  What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display.
Parallel Computing with MATLAB Jemmy Hu SHARCNET HPC Consultant University of Waterloo Feb. 1, 2012.
ENG College of Engineering Engineering Education Innovation Center 1 Array Accessing and Strings in MATLAB Topics Covered: 1.Array addressing. 2.
Introduction to Matlab
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Enabling the use of e-Infrastructures with.
Slide-1 Parallel MATLAB MIT Lincoln Laboratory Multicore Programming in pMatlab using Distributed Arrays Jeremy Kepner MIT Lincoln Laboratory This work.
Parameter Sweep and Resources Scaling Automation in Scalarm Data Farming Platform J. Liput, M. Paciorek, M. Wrona, M. Orzechowski, R. Slota, and J. Kitowski.
Improving Matlab Performance CS1114
Parallel Computing with MATLAB Modified for 240A UCSB Based on Jemmy Hu University of Waterloo
Matrix Multiplication in Hadoop
TensorFlow– A system for large-scale machine learning
Introduction to Matlab
Matlab Workshop 9/22/2018.
A Cloud System for Machine Learning Exploiting a Parallel Array DBMS
Presented by: Huston Bokinsky Ying Zhang 25 April, 2013
StatLab Matlab Workshop
Overview Identify similarities present in biological sequences and present them in a comprehensible manner to the biologists Objective Capturing Similarity.
Learn about MATLAB Engineers – not sales!
Apollo Weize Sun Feb.17th, 2017.
GAMMA: An Efficient Distributed Shared Memory Toolbox for MATLAB
StatLab Workshop: Intro to Matlab for Data Analysis and Statistical Modeling 11/29/2018.
GAMMA: An Efficient Distributed Shared Memory Toolbox for MATLAB
Overview of Workflows: Why Use Them?
Presentation transcript:

Parallel Matlab Vikas Argod Research Computing and Cyberinfrastructure

Matlab in Parallel Beautifully parallel Message Passing e.g., Multi, paralize, Plab, ParMatlabe.g., MultiMatlab, CMTM, DPToolbox,MatlabMPI, pMatlab www-math.mit.edu/~edelman/homepage/papers/pmatlab.pdf

Parallel Computing Toolbox (PCT) Data and task parallelism using – Parallel-for loops – Distributed arrays – Parallel numerical algorithms – Message Passing functions Easy transition between serial and parallel

Distributed Computing Server (DCS) Parallel Computing Toolbox – Only four local workers on a multicore or multiprocessor computer PCT + DCS -> Cluster-based applications Coordinate and execute independent MATLAB operations simultaneously on a cluster of computers

Architecture of PCT Normal Matlab session in which the job and its tasks are defined by using the functions provided by PCT. Often, it is on the machine where user programs Matlab. Coordinates the execution of jobs and the evaluation of their tasks, distributes the tasks for evaluation to the individual Matlab sessions called workers Matlab sessions which evaluates the task distributed by scheduler

Example -Problem Description System of 2^6 (=64) square matrices – Each matrix  Sparse, square,2^17 (=131072) dimension – Matrix is generated by ‘ spdiags ’ using a ‘random’ array To extract first 100 eigenvectors – ‘ eigs ’ function is used See handout for the code Each matrix calculation is distributed

Example - Serial Matlab ‘ eigen ’ is a function – Input : (vector of random numbers, dimension of the matrix) – Output : eigenvectors n = 2^16; p = 2^7; e = rand (n,1,p); for i = 1 : p a = e(:,:,i); ans(i) = eigen(a,n); end Independent calculations

Example-Parallel Matlab 1.Find available distributed computing resources ( findResource function) nprocs = [ getenv('DMATLAB_NPROCS') ] np = sscanf( nprocs, '%d' ) mgr_name = [ getenv('JOBMANAGER') ] mgr_host = [ getenv('JOBMANAGERHOST') ] jm =findResource('jobmanager','Name',mgr_name,'LookupURL',mgr_host); 2. Create distributed job j = createJob(jm,'FileDependencies',{ }); Path to additional files

Example – Parallel Matlab 3.Create Tasks for each worker n = 2^16; p = 2^7; e = rand (n,1,p); for i = 1 : p a = e(:,:,i); 1, {a,n}) ; end Same as Serial Code Creating tasks Name of the job Parallel Task function Number of output arguments Input arguments to each task

Example – Parallel Matlab 4. Submit the job and wait for the results 5. Remove the individual task or parent job object destroy(j); submit(j); get(jm); waitForState(j); results = getAllOutputArguments(j) If there are M tasks created and each task has N output arguments, then ‘results’ is a MxN cell array

Results

Useful links Parallel Computing Toolbox user’s guide : tcomp.pdf Parallel Matlab : Doing it Right www-math.mit.edu/~edelman/homepage/papers/pmatlab.pdf Large Scale Parameter Sweep studies using distributed matlab