Parallel Programming in MATLAB on BioHPC

Size: px
Start display at page:

Download "Parallel Programming in MATLAB on BioHPC"

Transcription

1 Parallel Programming in MATLAB on BioHPC [web] [ ] portal.biohpc.swmed.edu 1 Updated for

2 What is MATLAB High level language and development environment for: - Algorithm and application development - Data analysis - Mathematical modeling Extensive math, engineering, and plotting functionality Add-on products for image and video processing, communications, signal processing and more. powerful & easy to learn! 2

3 Ways of MATLAB Parallel Computing Build-in Multithreading (Implicit Parallelism) *automatically handled by Matlab - use of vector operations in place of for-loops +, -, *, /, SORT, CEIL, LOG, FFT, IFFT, SVD, Example: dot product C = A.* B; v.s. for i = 1 : size(a, 1) for j = 1: size(a, 2) C(i, j) = A(i, j) * B(i, j); If both A and B are 1000-by-1000 Matrix, the Matlab build-in dot product is 50~100 times faster than for-loop. * Testing environment : BioHPC computer node 3

4 Ways of MATLAB Parallel Computing Parallel Computing Toolbox *Acceleration MATLAB code with very little code changes job will running on your workstation, thin-client or a reserved compute node - Parallel for Loop (parfor) - Spmd (Single Program Multiple Data) - Pmode (Interactive environment for spmd development) - Parallel Computing with GPU Matlab Distributed Computing Server (MDCS) *Directly submit Matlab job to BioHPC cluster - Matlab job scheduler integrated with SLURM - Single job use multiple nodes 4

5 Parallel Computing Toolbox Parallel for-loops (parfor) Allow several MATLAB workers to execute individual loop iterations simultaneously. The only difference in parfor loop is the keyword parfor instead of for. When the loop begins, it opens a parallel pool of MATLAB sessions called workers for executing the iterations in parallel. <open matlab pool> for <statements> parfor <statements> <close matlab pool> 5

6 Parallel Computing Toolbox Parallel for-loops (parfor) Example 1: Estimating an Integration F x = a b 0.2sin2x dx The integration is estimated by calculating the total area under the F(x) curve. n F x height width 1 We can calculate subareas at any order! a b 6

7 Parallel Computing Toolbox Parallel for-loops (parfor) Example 1: Estimating an Integration quad_fun.m (serial version) function q = quad_fun (n, a, b) q = 0.0; w=(b-a)/n; for i = 1 : n x = (n-i) * a + (i-1) *b) /(n-1); fx = 0.2*sin(2*x); q = q + w*fx; return quad_fun_parfor.m (parfor version) function q = quad_fun_parfor (n, a, b) q = 0.0; w=(b-a)/n; parfor i = 1 : n x = (n-i) * a + (i-1) *b) /(n-1); fx = 0.2*sin(2*x); q = q + w*fx; return 12 workers Speedup = t1/t2 = 6.14x 7

8 Parallel Computing Toolbox Parallel for-loops (parfor) Q: How many workers can I use for MATLAB parallel pool? 2013a/2013b max number of workers = a/2014b/2015a/2015b max number of workers = number of physical cores Default Maximum 128GB, 384GB, GPU 12 16* 256GB 12 24* Workstation 6 6 Thin client 2 2 ** Use parpool( local, numofworkers) to specify how many workers you want. (or use matlabpool( local, numofworkers) if your are using matlab_r2013a) 8

9 Parallel Computing Toolbox Parallel for-loops (parfor) Q: How many workers can I use for MATLAB parallel pool? 2016a/2016b/2017a max number of workers = 512 default number of workers = number of physical cores choose smartly Number of workers 128GB, 384GB, GPU <= GB <= 48 Workstation <= 12 Thin client <= 4 % load local profile configuration mycluster = parcluster('local'); % increase number of workers mycluster.numworkers=32; % open matlab pool parpool(mycluster); % parfor loop parfor <statements> % close matlab pool delete(gcp('nocreate')); 9

10 Limitations of parfor No Nested parfor loops parfor i = 1 : 10 parfor j = 1 : 10 <statement> * Because a worker cannot open a parallel pool parfor i = 1 : 10 for j = 1 : 10 <statement> Loop variable must be increasing integers parfor x = 0 : 0.1 : 1 <statement> Loop iterations must be indepent xall = 0 : 0.1 :1; parfor ii = 1 : length(xall) x = xall(ii); <statement> parfor i = 2 : 10 A(I) = 0.5* ( A(I-1) + A(I+1) ); 10

11 Parallel Computing Toolbox spmd and Distributed Array spmd : Single Program Multiple Data single program -- the identical code runs on multiple workers. multiple data -- each worker can have different, unique data for that code. numlabs number of workers. labindex -- each worker has a unique identifier between 1 and numlabs. point-to-point communications between workers : labs, labreceive, labsrecieve Ideal for: 1) programs that takes a long time to execute. 2) programs operating on large data set. <open matlab pool> spmd <statements> spmd labdata = load([ datafile_ num2str(labindex).ascii ]) % multiple data result = MyFunction(labdata); % single program <close matlab pool> 11

12 Parallel Computing Toolbox spmd and Distributed Array Example 1: Estimating an Integration quad_fun.m function q = quad_fun (n, a, b) q = 0.0; w=(b-a)/n; for i = 1 : n fx = 0.2*sin(2*i); q = q + w*fx; return quad_fun_spmd.m (spmd version) a = 0.13; b = 1.53; n = ; spmd aa = (labindex - 1) / numlabs * (b-a) + a; bb = labindex / numlabs * (b-a) + a; nn = round(n / numlabs) q_part = quad_fun(nn, aa, bb); q = sum([q_part{:}]); 12 workers Speedup = t1/t3 = 8.26x 12 communications between client and workers to update q, whereas in parfor, it needs 120,000,000 communications between client and workers 12

13 Parallel Computing Toolbox spmd and Distributed Array distributed array - Data distributed from client and access readily on client. Data always distributed along the last dimension, and as evenly as possible along that dimension among the workers. codistributed array Data distributed within spmd, user define at which dimension to distribute data. Array created directly (locally) on worker. Matrix Multiply A*B distributed array parpool( local ); A = rand(3000); B = rand(3000); a = distributed(a); b = distributed(b); c = a*b; % run on workers, c is distributed delete(gcp); codistributed array parpool( local ); A = rand(3000); B = rand(3000); spmd u = codistributed(a, codistributor1d(1)); % by row, 1 st dim v = codistributed(b, codistributor1d(2)); % by column, 2 nd dim w = u * v; delete(gcp); 13

14 Parallel Computing Toolbox pmode: learn parallel programing interactively Enter command here 14

15 Parallel Computing Toolbox spmd and Distributed Array Example 2 : Ax = b linearsolver.m (serial version) n = 10000; M = rand(n); X = ones(n, 1); A = M + M ; b = A * X; u = A \ b; linearsolverspmd.m (spmd version) n = 10000; M = rand(n); X = ones(n, 1); spmd m = codistributed(m, codistributor( 1d, 2)); x = codistributed(x, codistributor( 1d, 1)); A = m +m ; b = A * x; utmp = A \ b; u1 = gather(utmp); 15

16 Parallel Computing Toolbox spmd and Distributed Array Factors reduce the speedup of parfor and spmd Computation inside the loop is simple. Memory limitations. (create more data compare to serial code) Transfer and convert data is time consuming Unbalanced computational load Synchronization 16

17 Parallel Computing Toolbox spmd and Distributed Array Example 3 : Contrast Enhancement Image size : 480 * 640 uint8 contrast_enhance.m function y = contrast_enhance (x) x = double (x); n = size (x, 1); x_average = sum ( sum (x(:,:))) /n /n ; s = 3.0; % the contrast s should be greater than 1 y = (1.0 s ) * x_average + s * x((n+1)/2, (n+1)/2); return contrast_serial.m x = imread( surfsup.tif ); yl = nlfilter (x, y = uint8(y); Running time is s (example provided by John FSU) 17

18 Parallel Computing Toolbox spmd and Distributed Array Example 3 : Contrast Enhancement contrast_spmd.m (spmd version) x = imread( surfsup.tif ); xd = distributed(x); spmd xl = getlocalpart(xd); xl = nlfilter(xl, y = [xl{:}]; General sliding-neighborhood operation 12 workers, running time is 2.01 s speedup = 7.19x zero padding at edges When the image is divided by columns among the workers, artificial internal boundaries are created! Solution: build up communication between workers. 18

19 Parallel Computing Toolbox spmd and Distributed Array Example 3 : Contrast Enhancement column = labsreceive ( next, previous, xl(:,) ); previous next ghost boundary For 3*3 filtering window, you need 1 column of ghost boundary on each side. column = labsreceive ( previous, next, xl(:,1) );

20 Parallel Computing Toolbox spmd and Distributed Array Example 3 : Contrast Enhancement contrast_mpi.m (mpi version) x = imread('surfsup.tif'); xd = distributed(x); spmd xl = getlocalpart ( xd ); if ( labindex ~= 1 ) previous = labindex - 1; else previous = numlabs; if ( labindex ~= numlabs ) next = labindex + 1; else next = 1; find out previous & next by labindex column = labsreceive ( previous, next, xl(:,1) ); if ( labindex < numlabs ) xl = [ xl, column ]; column = labsreceive ( next, previous, xl(:,) ); if ( 1 < labindex ) xl = [ column, xl ]; attache ghost boundaries xl = nlfilter ( xl, ); if ( 1 < labindex ) xl = xl(:,2:); if ( labindex < numlabs ) xl = xl(:,1:-1); xl = uint8 ( xl ); y = [ xl{:} ]; 12 workers running time 2.00 s speedup = 7.23x remove ghost boundaries 20

21 Parallel Computing Toolbox GPU Parallel Computing Toolbox enables you to program MATLAB to use your computer s graphics processing unit (GPU) for matrix operations. For some problems, execution in the GPU is faster than in the CPU. How to enable GPU computing of Matlab on BioHPC cluster Step 1 : reserve a GPU node Step 2 : inside terminal, type in export CUDA_VISIBLE_DEVICES= 0 to enable the hardware rering. You can launch Matlab directly if you have GPU card on your workstation. Current supporting versions on BioHPC: 2013a/2013b/2014a/2014b/2015a/2015b 21

22 Parallel Computing Toolbox GPU Example 2 : Ax = b linearsolvergpu.m (GPU version) n = 10000; M = rand(n); X = ones(n, 1); Mgpu = gpuarray(m); Xgpu = gpuarray(x); Agpu = Mgpu + Mgpu ; Bgpu = Agpu * Xgpu; ugpu = Agpu \ bgpu u = gather(ugpu); Copy data from CPU to GPU ( ~ 0.3 s) Copy data from GPU to CPU ( ~ s) Speedup = t1/t3 = 2.54x 22

23 Parallel Computing Toolbox GPU Check GPU information (inside Matlab) Q: If the GPU available. if (gpudevicecount > 0 ) Q: How to check memory usage? currentgpu = gpudevice; currentgpu.availablememory; * totalmemory refers to the GPU accelerator memory, e.g: K40m ~12 GB; K20m ~5 GB 23

24 Parallel Computing Toolbox benchmark Out of memory * the actually memory consumption is much higher than the input data size 24

25 25 Matlab Distributed Computing Server

26 Matlab Distributed Computing Server: Setup and Test your MATLAB environment Home -> ENVIRONMENT -> Parallel -> Manage Cluster Profiles Add -> Import Cluster Profiles from file And then select profile file from: /project/apps/apps/matlab/profile/nucleus_r2017a.settings /project/apps/apps/matlab/profile/nucleus_r2016b.settings /project/apps/apps/matlab/profile/nucleus_r2016a.settings /project/apps/apps/matlab/profile/nucleus_r2015b.settings /project/apps/apps/matlab/profile/nucleus_r2015a.settings /project/apps/apps/matlab/profile/nucleus_r2014b.settings /project/apps/apps/matlab/profile/nucleus_r2014a.settings /project/apps/apps/matlab/profile/nucleus_r2013b.settings /project/apps/apps/matlab/profile/nucleus_r2013a.settings *based on your matlab version 26

27 Matlab Distributed Computing Server: Setup and Test your MATLAB environment Test your parallel profile You should have two Cluster Profiles ready for Matlab parallel computing: local for running job on your workstation, thin client or on any single compute node of BioHPC cluster (use Parallel Computing toolbox) nucleus_r<version No.> for running job on BioHPC cluster with multiple nodes (use MDCS) * Ignore the MATLAB Parallel Cloud profile if you are using 2016a/2016b/2017a 27

28 Matlab Distributed Computing Server: Setup SLURM environment From Matlab command window: ClusterInfo.setQueueName( 128GB ); % use 128 GB partition ClusterInfo.setNNode(2); % request 2 nodes ClusterInfo.setWallTime( 1:00:00 ); % setup time limit to 1 hour ClusterInfo.set Address( yi.du@utsouthwestern.edu ); % notification You could check your settings by: ClusterInfo.getQueueName(); ClusterInfo.getNNode(); ClusterInfo.getWallTime(); ClusterInfo.get Address(); 28

29 Matlab Distributed Computing Server: batch processing Job submission For scripts: job = batch( ascript, Pool, 15, profile, nucleus_r2016a ); script name number of workers - 1 configuration file For functions: job = batch(@sfun, 1, {50, 4000}, Pool, 15, profile, nucleus_r2016a ); function name cell array containing input arguments number of variables to be returned by function 29

30 Matlab Distributed Computing Server: batch processing Wait for batch job to be finished Block session until job has finished : wait(job, finished ); Occasionally checking on state of job : get(job, state ); Load result after job finished : results = fetchoutputs(job) -or- load(job); Delete job : delete(job); You can also open job monitor from Home->Parallel->Monitor Jobs 30

31 Matlab Distributed Computing Server Example 1: Estimating an Integration quad_submission.m ClusterInfo.setQueueName( super ); ClusterInfo.setNNode(2); ClusterInfo.setWallTime( 00:30:00 ); job = batch(@quad_fun, 1, { , 0.13, 1.53}, Pool, 63, profile, nucleus_r2016a ); wait(job, finished ); Results = fetchoutputs(job); 31

32 Matlab Distributed Computing Server * Recall the serial job only needs s, MDCS is not designed for small jobs Running time is 24 s If we submit spmd version code with MDCS job = batch( quad_fun_spmd, Pool, 63, profile, nucleus_r2016a ); Running time is 15 s 32

33 Matlab Distributed Computing Server Example 4: Vessel Extraction microscopy image (size:2126*5517) find the central line of vessel (fast matching method) local normalization remove pepper & salt threshold ~ 6.5 hours ~ 21.3 seconds separate vessel groups based on connectivity binary image 33 ~ 6.6 seconds 243 subsets of binary image

34 Matlab Distributed Computing Server Example 4: Vessel Extraction (step 3) vesselextraction_submission.m % get file list subimages = dir(['bwimages', '/*.jpg']); parfor i = 1 : length(subimages) filename = subimages(i).name; fastmatching(filename); time needed for processing each sub image various t = 784 s t = 784 s Job running on 4 nodes requires minimum computational time Speedup = 28.3x 34

35 License limitation of Matlab Distributed Computing Server Maximum concurrent licenses = 128 worker Shared with all BioHPC user Job ping on MDCS licenses Solution : Single-node jobs use local profile, increase number of workers (2016a) Multiple-node jobs SLURM + GUN parallel - ex_04 : example_parallel_sbatch.sh 4 nodes with a pool size of 128 threads, t = 699 s 35

36 SLURM + GUN parallel A shell tool for executing jobs in parallel using one or more computers. parallelize is to run 8 jobs on each CPU GNU Parallel instead spawns a new process when one finishes - keeping the CPUs active and thus saving time Usage: sbatch GUN parallel srun base scripts * Image retrieved from 36

37 Submit multiple jobs to multi-node with srun & GUN parallel #!/bin/bash #SBATCH --job-name=parallelexample #SBATCH --partition=super #SBATCH --nodes=4 #SBATCH ntasks=128 #SBATCH --time=1-00:00:00 CORES_PER_TASK=1 INPUTS_COMMAND= ls BWimages TASK_SCRIPT= single.sh module add parallel INPUTS_COMMAND: generate a input file list TASK_SCRIPT: base script SRUN= srun --exclusive n N1 c $CORES_PER_TASK PARALLEL= parallel --delay.2 j $SLURM_NTASKS joblog task.log eval $INPUTS_COMMAND $PARALLEL $SRUN sh $TASK_SCRIPT {} single.sh #!/bin/bash module add matlab/2016a matlab nodisplay nodesktop -singlecompthread r fastmatching( $1 ), exit 37

38 Questions and Comments For assistance with MATLAB, please contact the BioHPC Group: Submit help ticket at When did it happen? What time? Cluster or client? What job id? How you run it? Which Matlab Version? If the code comparable with different versions? Can we look at your scripts and data? Tell us if you are happy for us to access your scripts/data to help troubleshoot. 38

MATLAB on BioHPC. portal.biohpc.swmed.edu Updated for

MATLAB on BioHPC. portal.biohpc.swmed.edu Updated for MATLAB on BioHPC [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2015-06-17 What is MATLAB High level language and development environment for: - Algorithm and application

More information

Parallel Programming in MATLAB on BioHPC

Parallel Programming in MATLAB on BioHPC Parallel Programming in MATLAB on BioHPC [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2018-03-21 What is MATLAB High level language and development environment for:

More information

Parallel Processing Tool-box

Parallel Processing Tool-box Parallel Processing Tool-box Start up MATLAB in the regular way. This copy of MATLAB that you start with is called the "client" copy; the copies of MATLAB that will be created to assist in the computation

More information

Using the MATLAB Parallel Computing Toolbox on the UB CCR cluster

Using the MATLAB Parallel Computing Toolbox on the UB CCR cluster Using the MATLAB Parallel Computing Toolbox on the UB CCR cluster N. Barlow, C. Cornelius, S. Matott Center for Computational Research University at Buffalo State University of New York October, 1, 2013

More information

Parallel Computing with MATLAB

Parallel Computing with MATLAB Parallel Computing with MATLAB Jemmy Hu SHARCNET HPC Consultant University of Waterloo May 24, 2012 https://www.sharcnet.ca/~jemmyhu/tutorials/uwo_2012 Content MATLAB: UWO site license on goblin MATLAB:

More information

Daniel D. Warner. May 31, Introduction to Parallel Matlab. Daniel D. Warner. Introduction. Matlab s 5-fold way. Basic Matlab Example

Daniel D. Warner. May 31, Introduction to Parallel Matlab. Daniel D. Warner. Introduction. Matlab s 5-fold way. Basic Matlab Example to May 31, 2010 What is Matlab? Matlab is... an Integrated Development Environment for solving numerical problems in computational science. a collection of state-of-the-art algorithms for scientific computing

More information

Parallel Computing with MATLAB

Parallel Computing with MATLAB Parallel Computing with MATLAB CSCI 4850/5850 High-Performance Computing Spring 2018 Tae-Hyuk (Ted) Ahn Department of Computer Science Program of Bioinformatics and Computational Biology Saint Louis University

More information

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX. Kadin Tseng Boston University Scientific Computing and Visualization

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX. Kadin Tseng Boston University Scientific Computing and Visualization INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX Kadin Tseng Boston University Scientific Computing and Visualization MATLAB Parallel Computing Toolbox 2 The Parallel Computing Toolbox is a MATLAB tool

More information

Introductory Parallel and Distributed Computing Tools of nirvana.tigem.it

Introductory Parallel and Distributed Computing Tools of nirvana.tigem.it Introductory Parallel and Distributed Computing Tools of nirvana.tigem.it A Computer Cluster is a group of networked computers, working together as a single entity These computer are called nodes Cluster

More information

Parallel MATLAB at VT

Parallel MATLAB at VT Parallel MATLAB at VT Gene Cliff (AOE/ICAM - ecliff@vt.edu ) James McClure (ARC/ICAM - mcclurej@vt.edu) Justin Krometis (ARC/ICAM - jkrometis@vt.edu) 11:00am - 11:50am, Thursday, 25 September 2014... NLI...

More information

Matlab: Parallel Computing Toolbox

Matlab: Parallel Computing Toolbox Matlab: Parallel Computing Toolbox Shuxia Zhang University of Mineesota e-mail: szhang@msi.umn.edu or help@msi.umn.edu Tel: 612-624-8858 (direct), 612-626-0802(help) Outline Introduction - Matlab PCT How

More information

Lecture x: MATLAB - advanced use cases

Lecture x: MATLAB - advanced use cases Lecture x: MATLAB - advanced use cases Parallel computing with Matlab s toolbox Heikki Apiola and Juha Kuortti February 22, 2018 Aalto University juha.kuortti@aalto.fi, heikki.apiola@aalto.fi Parallel

More information

Using the SLURM Job Scheduler

Using the SLURM Job Scheduler Using the SLURM Job Scheduler [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2015-05-13 Overview Today we re going to cover: Part I: What is SLURM? How to use a basic

More information

Calcul intensif et Stockage de Masse. CÉCI/CISM HPC training sessions Use of Matlab on the clusters

Calcul intensif et Stockage de Masse. CÉCI/CISM HPC training sessions Use of Matlab on the clusters Calcul intensif et Stockage de Masse CÉCI/ HPC training sessions Use of Matlab on the clusters Typical usage... Interactive Batch Type in and get an answer Submit job and fetch results Sequential Parallel

More information

Calcul intensif et Stockage de Masse. CÉCI/CISM HPC training sessions

Calcul intensif et Stockage de Masse. CÉCI/CISM HPC training sessions Calcul intensif et Stockage de Masse CÉCI/ HPC training sessions Calcul intensif et Stockage de Masse Parallel Matlab on the cluster /CÉCI Training session www.uclouvain.be/cism www.ceci-hpc.be November

More information

Adaptive Algorithms and Parallel Computing

Adaptive Algorithms and Parallel Computing Adaptive Algorithms and Parallel Computing Multicore and Multimachine Computing with MATLAB (Part 1) Academic year 2014-2015 Simone Scardapane Content of the Lecture Main points: Parallelizing loops with

More information

Introduction to BioHPC

Introduction to BioHPC Introduction to BioHPC New User Training [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2015-06-03 Overview Today we re going to cover: What is BioHPC? How do I access

More information

Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics

Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics Moysey Brio & Paul Dostert July 4, 2009 1 / 18 Sparse Matrices In many areas of applied mathematics and modeling, one

More information

Monitoring and Trouble Shooting on BioHPC

Monitoring and Trouble Shooting on BioHPC Monitoring and Trouble Shooting on BioHPC [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2017-03-15 Why Monitoring & Troubleshooting data code Monitoring jobs running

More information

Performance Analysis of Matlab Code and PCT

Performance Analysis of Matlab Code and PCT p. 1/45 Performance Analysis of Matlab Code and PCT Xiaoxu Guan High Performance Computing, LSU March 21, 2018 1 tic; 2 nsize = 10000; 3 for k = 1:nsize 4 B(k) = sum( A(:,k) ); 5 6 toc; p. 2/45 Overview

More information

Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer

Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer 2018 The MathWorks, Inc. 1 Practical Application of Parallel Computing Why parallel computing? Need faster

More information

Choosing Resources Wisely Plamen Krastev Office: 38 Oxford, Room 117 FAS Research Computing

Choosing Resources Wisely Plamen Krastev Office: 38 Oxford, Room 117 FAS Research Computing Choosing Resources Wisely Plamen Krastev Office: 38 Oxford, Room 117 Email:plamenkrastev@fas.harvard.edu Objectives Inform you of available computational resources Help you choose appropriate computational

More information

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen Frank Graeber Application Engineering MathWorks Germany 2013 The MathWorks, Inc. 1 Speed up the serial code within core

More information

Parallel Computing with MATLAB

Parallel Computing with MATLAB Parallel Computing with MATLAB Jos Martin Principal Architect, Parallel Computing Tools jos.martin@mathworks.co.uk 2015 The MathWorks, Inc. 1 Overview Scene setting Task Parallel (par*) Why doesn t it

More information

Parallel Computing with MATLAB

Parallel Computing with MATLAB Parallel Computing with MATLAB Jos Martin Principal Architect, Parallel Computing Tools jos.martin@mathworks.co.uk 1 2013 The MathWorks, Inc. www.matlabexpo.com Code used in this presentation can be found

More information

Parallel and Distributed Computing with MATLAB The MathWorks, Inc. 1

Parallel and Distributed Computing with MATLAB The MathWorks, Inc. 1 Parallel and Distributed Computing with MATLAB 2018 The MathWorks, Inc. 1 Practical Application of Parallel Computing Why parallel computing? Need faster insight on more complex problems with larger datasets

More information

Visualization on BioHPC

Visualization on BioHPC Visualization on BioHPC [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2015-09-16 Outline What is Visualization - Scientific Visualization - Work flow for Visualization

More information

Parallel MATLAB at FSU: PARFOR and SPMD

Parallel MATLAB at FSU: PARFOR and SPMD Parallel MATLAB at FSU: PARFOR and SPMD John Burkardt Department of Scientific Computing Florida State University... 1:30-2:30 Thursday, 31 March 2011 499 Dirac Science Library... http://people.sc.fsu.edu/

More information

Optimizing and Accelerating Your MATLAB Code

Optimizing and Accelerating Your MATLAB Code Optimizing and Accelerating Your MATLAB Code Sofia Mosesson Senior Application Engineer 2016 The MathWorks, Inc. 1 Agenda Optimizing for loops and using vector and matrix operations Indexing in different

More information

Parallel Merge Sort Using MPI

Parallel Merge Sort Using MPI Parallel Merge Sort Using MPI CSE 702: Seminar on Programming Massively Parallel Systems Course Instructor: Dr. Russ Miller UB Distinguished Professor Department of Computer Science & Engineering State

More information

Parallel Programming with MATLAB

Parallel Programming with MATLAB Parallel Programming with MATLAB John Burkardt Department of Scientific Computing Florida State University... http://people.sc.fsu.edu/ jburkardt/presentations/... ajou matlab 2011.pdf... Hosted by Professor

More information

High Performance and GPU Computing in MATLAB

High Performance and GPU Computing in MATLAB High Performance and GPU Computing in MATLAB Jan Houška houska@humusoft.cz http://www.humusoft.cz 1 About HUMUSOFT Company: Humusoft s.r.o. Founded: 1990 Number of employees: 18 Location: Praha 8, Pobřežní

More information

Duke Compute Cluster Workshop. 3/28/2018 Tom Milledge rc.duke.edu

Duke Compute Cluster Workshop. 3/28/2018 Tom Milledge rc.duke.edu Duke Compute Cluster Workshop 3/28/2018 Tom Milledge rc.duke.edu rescomputing@duke.edu Outline of talk Overview of Research Computing resources Duke Compute Cluster overview Running interactive and batch

More information

Using Parallel Computing Toolbox to accelerate the Video and Image Processing Speed. Develop parallel code interactively

Using Parallel Computing Toolbox to accelerate the Video and Image Processing Speed. Develop parallel code interactively Using Parallel Computing Toolbox to accelerate the Video and Image Processing Speed Presenter: Claire Chuang TeraSoft Inc. Agenda Develop parallel code interactively parallel applications for faster processing

More information

MATLAB Parallel Computing

MATLAB Parallel Computing MATLAB Parallel Computing John Burkardt Information Technology Department Virginia Tech... FDI Summer Track V: Using Virginia Tech High Performance Computing http://people.sc.fsu.edu/ jburkardt/presentations/fdi

More information

Speeding up MATLAB Applications Sean de Wolski Application Engineer

Speeding up MATLAB Applications Sean de Wolski Application Engineer Speeding up MATLAB Applications Sean de Wolski Application Engineer 2014 The MathWorks, Inc. 1 Non-rigid Displacement Vector Fields 2 Agenda Leveraging the power of vector and matrix operations Addressing

More information

Parallel MATLAB: Parallel For Loops

Parallel MATLAB: Parallel For Loops Parallel MATLAB: Parallel For Loops John Burkardt (FSU) & Gene Cliff (AOE/ICAM) 2pm - 4pm, Tuesday, 31 May 2011 Mathematics Commons Room... vt 2011 parfor.pdf... FSU: Florida State University AOE: Department

More information

Parallel Computing with Matlab and R

Parallel Computing with Matlab and R Parallel Computing with Matlab and R scsc@duke.edu https://wiki.duke.edu/display/scsc Tom Milledge tm103@duke.edu Overview Running Matlab and R interactively and in batch mode Introduction to Parallel

More information

R on BioHPC. Rstudio, Parallel R and BioconductoR. Updated for

R on BioHPC. Rstudio, Parallel R and BioconductoR. Updated for R on BioHPC Rstudio, Parallel R and BioconductoR 1 Updated for 2015-07-15 2 Today we ll be looking at Why R? The dominant statistics environment in academia Large number of packages to do a lot of different

More information

High Performance Computing for BU Economists

High Performance Computing for BU Economists High Performance Computing for BU Economists Marc Rysman Boston University October 25, 2013 Introduction We have a fabulous super-computer facility at BU. It is free for you and easy to gain access. It

More information

Duke Compute Cluster Workshop. 10/04/2018 Tom Milledge rc.duke.edu

Duke Compute Cluster Workshop. 10/04/2018 Tom Milledge rc.duke.edu Duke Compute Cluster Workshop 10/04/2018 Tom Milledge rc.duke.edu rescomputing@duke.edu Outline of talk Overview of Research Computing resources Duke Compute Cluster overview Running interactive and batch

More information

Data Analysis with MATLAB. Steve Lantz Senior Research Associate Cornell CAC

Data Analysis with MATLAB. Steve Lantz Senior Research Associate Cornell CAC Data Analysis with MATLAB Steve Lantz Senior Research Associate Cornell CAC Workshop: Data Analysis on Ranger, October 12, 2009 MATLAB Has Many Capabilities for Data Analysis Preprocessing Scaling and

More information

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX

INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX INTRODUCTION TO MATLAB PARALLEL COMPUTING TOOLBOX Keith Ma ---------------------------------------- keithma@bu.edu Research Computing Services ----------- help@rcs.bu.edu Boston University ----------------------------------------------------

More information

Speeding up MATLAB Applications The MathWorks, Inc.

Speeding up MATLAB Applications The MathWorks, Inc. Speeding up MATLAB Applications 2009 The MathWorks, Inc. Agenda Leveraging the power of vector & matrix operations Addressing bottlenecks Utilizing additional processing power Summary 2 Example: Block

More information

MATLAB Distributed Computing Server Release Notes

MATLAB Distributed Computing Server Release Notes MATLAB Distributed Computing Server Release Notes How to Contact MathWorks www.mathworks.com Web comp.soft-sys.matlab Newsgroup www.mathworks.com/contact_ts.html Technical Support suggest@mathworks.com

More information

SUBMITTING JOBS TO ARTEMIS FROM MATLAB

SUBMITTING JOBS TO ARTEMIS FROM MATLAB INFORMATION AND COMMUNICATION TECHNOLOGY SUBMITTING JOBS TO ARTEMIS FROM MATLAB STEPHEN KOLMANN, INFORMATION AND COMMUNICATION TECHNOLOGY AND SYDNEY INFORMATICS HUB 8 August 2017 Table of Contents GETTING

More information

Introduction to BioHPC New User Training

Introduction to BioHPC New User Training Introduction to BioHPC New User Training [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2019-02-06 Overview Today we re going to cover: What is BioHPC? How do I access

More information

MATLAB Distributed Computing Server (MDCS) Training

MATLAB Distributed Computing Server (MDCS) Training MATLAB Distributed Computing Server (MDCS) Training Artemis HPC Integration and Parallel Computing with MATLAB Dr Hayim Dar hayim.dar@sydney.edu.au Dr Nathaniel Butterworth nathaniel.butterworth@sydney.edu.au

More information

Statistical and Mathematical Software on HPC systems. Jefferson Davis Research Analytics

Statistical and Mathematical Software on HPC systems. Jefferson Davis Research Analytics Statistical and Mathematical Software on HPC systems Jefferson Davis Research Analytics Plan of Attack Look at three packages on Karst: SAS, R, Matlab. Look at running a common task in all three. Discuss

More information

CHEOPS Cologne High Efficient Operating Platform for Science Application Software

CHEOPS Cologne High Efficient Operating Platform for Science Application Software CHEOPS Cologne High Efficient Operating Platform for Science Application Software (Version: 20.12.2017) Foto: V.Winkelmann/E.Feldmar Dr. Lars Packschies Volker Winkelmann Kevin Kaatz EMail: wiss-anwendung@uni-koeln.de

More information

Introduction to BioHPC

Introduction to BioHPC Introduction to BioHPC New User Training [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2017-01-04 Overview Today we re going to cover: What is BioHPC? How do I access

More information

High Performance Computing for BU Economists

High Performance Computing for BU Economists High Performance Computing for BU Economists Marc Rysman Boston University November 29, 2017 Introduction We have a fabulous super-computer facility at BU. It is free for you and easy to gain access. It

More information

Introduction to BioHPC

Introduction to BioHPC Introduction to BioHPC New User Training [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2018-03-07 Overview Today we re going to cover: What is BioHPC? How do I access

More information

Introduction to SLURM & SLURM batch scripts

Introduction to SLURM & SLURM batch scripts Introduction to SLURM & SLURM batch scripts Anita Orendt Assistant Director Research Consulting & Faculty Engagement anita.orendt@utah.edu 16 Feb 2017 Overview of Talk Basic SLURM commands SLURM batch

More information

Multicore Computer, GPU 및 Cluster 환경에서의 MATLAB Parallel Computing 기능

Multicore Computer, GPU 및 Cluster 환경에서의 MATLAB Parallel Computing 기능 Multicore Computer, GPU 및 Cluster 환경에서의 MATLAB Parallel Computing 기능 성호현 MathWorks Korea 2012 The MathWorks, Inc. 1 A Question to Consider Do you want to speed up your algorithms? If so Do you have a multi-core

More information

Statistical and Mathematical Software on HPC systems. Jefferson Davis Research Analytics

Statistical and Mathematical Software on HPC systems. Jefferson Davis Research Analytics Statistical and Mathematical Software on HPC systems Jefferson Davis Research Analytics Plan of Attack Look at three packages on Karst: SAS, R, Matlab. Look at running a common task in all three. Discuss

More information

MATLAB Parallel Computing Toolbox Benchmark for an Embarrassingly Parallel Application

MATLAB Parallel Computing Toolbox Benchmark for an Embarrassingly Parallel Application MATLAB Parallel Computing Toolbox Benchmark for an Embarrassingly Parallel Application By Nils Oberg, Benjamin Ruddell, Marcelo H. García, and Praveen Kumar Department of Civil and Environmental Engineering

More information

Sherlock for IBIIS. William Law Stanford Research Computing

Sherlock for IBIIS. William Law Stanford Research Computing Sherlock for IBIIS William Law Stanford Research Computing Overview How we can help System overview Tech specs Signing on Batch submission Software environment Interactive jobs Next steps We are here to

More information

Matlab Tutorial. Yi Gong

Matlab Tutorial. Yi Gong Matlab Tutorial Yi Gong 2011-1-7 Contact Info Keep an eye on latest announcement on course website Office Hours @ HFH 3120B M 10am-12pm, W 12pm-2pm, F 3pm-5pm Discussion Fri 2pm-2:50pm @PHELPS 1401 Email:

More information

MATLAB AND PARALLEL COMPUTING

MATLAB AND PARALLEL COMPUTING Image Processing & Communication, vol. 17, no. 4, pp. 207-216 DOI: 10.2478/v10248-012-0048-5 207 MATLAB AND PARALLEL COMPUTING MAGDALENA SZYMCZYK, PIOTR SZYMCZYK AGH University of Science and Technology,

More information

Duke Compute Cluster Workshop. 11/10/2016 Tom Milledge h:ps://rc.duke.edu/

Duke Compute Cluster Workshop. 11/10/2016 Tom Milledge h:ps://rc.duke.edu/ Duke Compute Cluster Workshop 11/10/2016 Tom Milledge h:ps://rc.duke.edu/ rescompu>ng@duke.edu Outline of talk Overview of Research Compu>ng resources Duke Compute Cluster overview Running interac>ve and

More information

Lesson 1 1 Introduction

Lesson 1 1 Introduction Lesson 1 1 Introduction The Multithreaded DAG Model DAG = Directed Acyclic Graph : a collection of vertices and directed edges (lines with arrows). Each edge connects two vertices. The final result of

More information

MIC Lab Parallel Computing on Stampede

MIC Lab Parallel Computing on Stampede MIC Lab Parallel Computing on Stampede Aaron Birkland and Steve Lantz Cornell Center for Advanced Computing June 11 & 18, 2013 1 Interactive Launching This exercise will walk through interactively launching

More information

Part One: The Files. C MPI Slurm Tutorial - Hello World. Introduction. Hello World! hello.tar. The files, summary. Output Files, summary

Part One: The Files. C MPI Slurm Tutorial - Hello World. Introduction. Hello World! hello.tar. The files, summary. Output Files, summary C MPI Slurm Tutorial - Hello World Introduction The example shown here demonstrates the use of the Slurm Scheduler for the purpose of running a C/MPI program. Knowledge of C is assumed. Having read the

More information

High Performance Computing Cluster Advanced course

High Performance Computing Cluster Advanced course High Performance Computing Cluster Advanced course Jeremie Vandenplas, Gwen Dawes 9 November 2017 Outline Introduction to the Agrogenomics HPC Submitting and monitoring jobs on the HPC Parallel jobs on

More information

Shared Memory Programming With OpenMP Computer Lab Exercises

Shared Memory Programming With OpenMP Computer Lab Exercises Shared Memory Programming With OpenMP Computer Lab Exercises Advanced Computational Science II John Burkardt Department of Scientific Computing Florida State University http://people.sc.fsu.edu/ jburkardt/presentations/fsu

More information

Introduction to UBELIX

Introduction to UBELIX Science IT Support (ScITS) Michael Rolli, Nico Färber Informatikdienste Universität Bern 06.06.2017, Introduction to UBELIX Agenda > Introduction to UBELIX (Overview only) Other topics spread in > Introducing

More information

Working with Shell Scripting. Daniel Balagué

Working with Shell Scripting. Daniel Balagué Working with Shell Scripting Daniel Balagué Editing Text Files We offer many text editors in the HPC cluster. Command-Line Interface (CLI) editors: vi / vim nano (very intuitive and easy to use if you

More information

Adaptive Algorithms and Parallel Computing

Adaptive Algorithms and Parallel Computing Adaptive Algorithms and Parallel Computing Multicore and Multimachine Computing with MATLAB Academic year 2016-2017 Simone Scardapane Content of the Lecture Main points: Parallelizing loops with the par-for

More information

Workstations & Thin Clients

Workstations & Thin Clients 1 Workstations & Thin Clients Overview Why use a BioHPC computer? System Specs Network requirements OS Tour Running Code Locally Submitting Jobs to the Cluster Run Graphical Jobs on the Cluster Use Windows

More information

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB?

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB? Appendix A Introduction to MATLAB A.1 What Is MATLAB? MATLAB is a technical computing environment developed by The Math- Works, Inc. for computation and data visualization. It is both an interactive system

More information

INTRODUCTION TO GPU COMPUTING WITH CUDA. Topi Siro

INTRODUCTION TO GPU COMPUTING WITH CUDA. Topi Siro INTRODUCTION TO GPU COMPUTING WITH CUDA Topi Siro 19.10.2015 OUTLINE PART I - Tue 20.10 10-12 What is GPU computing? What is CUDA? Running GPU jobs on Triton PART II - Thu 22.10 10-12 Using libraries Different

More information

Introduction to MATLAB. Arturo Donate

Introduction to MATLAB. Arturo Donate Introduction to MATLAB Arturo Donate Introduction What is MATLAB? Environment MATLAB Basics Toolboxes Comparison Conclusion Programming What is MATLAB? Matrix laboratory programming environment high-performance

More information

Parallel Computing with MATLAB on Discovery Cluster

Parallel Computing with MATLAB on Discovery Cluster Parallel Computing with MATLAB on Discovery Cluster Northeastern University Research Computing: Nilay K Roy, MS Computer Science, Ph.D Computational Physics Lets look at the Discovery Cluster Matlab environment

More information

Combining OpenMP and MPI. Timothy H. Kaiser,Ph.D..

Combining OpenMP and MPI. Timothy H. Kaiser,Ph.D.. Combining OpenMP and MPI Timothy H. Kaiser,Ph.D.. tkaiser@mines.edu 1 Overview Discuss why we combine MPI and OpenMP Intel Compiler Portland Group Compiler Run Scripts Challenge: What works for Stommel

More information

Technical Computing with MATLAB

Technical Computing with MATLAB Technical Computing with MATLAB University Of Bath Seminar th 19 th November 2010 Adrienne James (Application Engineering) 1 Agenda Introduction to MATLAB Importing, visualising and analysing data from

More information

How to run a job on a Cluster?

How to run a job on a Cluster? How to run a job on a Cluster? Cluster Training Workshop Dr Samuel Kortas Computational Scientist KAUST Supercomputing Laboratory Samuel.kortas@kaust.edu.sa 17 October 2017 Outline 1. Resources available

More information

Graham vs legacy systems

Graham vs legacy systems New User Seminar Graham vs legacy systems This webinar only covers topics pertaining to graham. For the introduction to our legacy systems (Orca etc.), please check the following recorded webinar: SHARCNet

More information

2 Amazingly Simple Example Suppose we wanted to represent the following matrix 2 itchy = To enter itchy in Matla

2 Amazingly Simple Example Suppose we wanted to represent the following matrix 2 itchy = To enter itchy in Matla Superlative-Laced Matlab Help for ECE155 Students Brian Kurkoski kurkoski@ucsd.edu October 13, 1999 This document is an introduction to Matlab for ECE155 students. It emphasizes the aspects of Matlab that

More information

Batch Systems. Running your jobs on an HPC machine

Batch Systems. Running your jobs on an HPC machine Batch Systems Running your jobs on an HPC machine Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_us

More information

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen

Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen Mit MATLAB auf der Überholspur Methoden zur Beschleunigung von MATLAB Anwendungen Michael Glaßer Application Engineering MathWorks Germany 2014 The MathWorks, Inc. 1 Key Takeaways 1. Speed up your serial

More information

Supporting Data Parallelism in Matcloud: Final Report

Supporting Data Parallelism in Matcloud: Final Report Supporting Data Parallelism in Matcloud: Final Report Yongpeng Zhang, Xing Wu 1 Overview Matcloud is an on-line service to run Matlab-like script on client s web browser. Internally it is accelerated by

More information

Introduction to RCC. September 14, 2016 Research Computing Center

Introduction to RCC. September 14, 2016 Research Computing Center Introduction to HPC @ RCC September 14, 2016 Research Computing Center What is HPC High Performance Computing most generally refers to the practice of aggregating computing power in a way that delivers

More information

Batch Systems & Parallel Application Launchers Running your jobs on an HPC machine

Batch Systems & Parallel Application Launchers Running your jobs on an HPC machine Batch Systems & Parallel Application Launchers Running your jobs on an HPC machine Partners Funding Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike

More information

Using CSC Environment Efficiently,

Using CSC Environment Efficiently, Using CSC Environment Efficiently, 17.09.2018 1 Exercises a) Log in to Taito either with your training or CSC user account, either from a terminal (with X11 forwarding) or using NoMachine client b) Go

More information

Introduction to RCC. January 18, 2017 Research Computing Center

Introduction to RCC. January 18, 2017 Research Computing Center Introduction to HPC @ RCC January 18, 2017 Research Computing Center What is HPC High Performance Computing most generally refers to the practice of aggregating computing power in a way that delivers much

More information

CS 179: GPU Programming. Lecture 7

CS 179: GPU Programming. Lecture 7 CS 179: GPU Programming Lecture 7 Week 3 Goals: More involved GPU-accelerable algorithms Relevant hardware quirks CUDA libraries Outline GPU-accelerated: Reduction Prefix sum Stream compaction Sorting(quicksort)

More information

Bash for SLURM. Author: Wesley Schaal Pharmaceutical Bioinformatics, Uppsala University

Bash for SLURM. Author: Wesley Schaal Pharmaceutical Bioinformatics, Uppsala University Bash for SLURM Author: Wesley Schaal Pharmaceutical Bioinformatics, Uppsala University wesley.schaal@farmbio.uu.se Lab session: Pavlin Mitev (pavlin.mitev@kemi.uu.se) it i slides at http://uppmax.uu.se/support/courses

More information

Description of Power8 Nodes Available on Mio (ppc[ ])

Description of Power8 Nodes Available on Mio (ppc[ ]) Description of Power8 Nodes Available on Mio (ppc[001-002]) Introduction: HPC@Mines has released two brand-new IBM Power8 nodes (identified as ppc001 and ppc002) to production, as part of our Mio cluster.

More information

function [s p] = sumprod (f, g)

function [s p] = sumprod (f, g) Outline of the Lecture Introduction to M-function programming Matlab Programming Example Relational operators Logical Operators Matlab Flow control structures Introduction to M-function programming M-files:

More information

Computational Finance

Computational Finance Computational Finance Introduction to Matlab Marek Kolman Matlab program/programming language for technical computing particularly for numerical issues works on matrix/vector basis usually used for functional

More information

Using a Linux System 6

Using a Linux System 6 Canaan User Guide Connecting to the Cluster 1 SSH (Secure Shell) 1 Starting an ssh session from a Mac or Linux system 1 Starting an ssh session from a Windows PC 1 Once you're connected... 1 Ending an

More information

Slurm basics. Summer Kickstart June slide 1 of 49

Slurm basics. Summer Kickstart June slide 1 of 49 Slurm basics Summer Kickstart 2017 June 2017 slide 1 of 49 Triton layers Triton is a powerful but complex machine. You have to consider: Connecting (ssh) Data storage (filesystems and Lustre) Resource

More information

Introduction to SLURM & SLURM batch scripts

Introduction to SLURM & SLURM batch scripts Introduction to SLURM & SLURM batch scripts Anita Orendt Assistant Director Research Consulting & Faculty Engagement anita.orendt@utah.edu 23 June 2016 Overview of Talk Basic SLURM commands SLURM batch

More information

Shared Memory Programming With OpenMP Exercise Instructions

Shared Memory Programming With OpenMP Exercise Instructions Shared Memory Programming With OpenMP Exercise Instructions John Burkardt Interdisciplinary Center for Applied Mathematics & Information Technology Department Virginia Tech... Advanced Computational Science

More information

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014 PS 12a Laboratory 1 Spring 2014 Objectives This session is a tutorial designed to a very quick overview of some of the numerical skills that you ll need to get started. Throughout the tutorial, the instructors

More information

Introduction to High-Performance Computing (HPC)

Introduction to High-Performance Computing (HPC) Introduction to High-Performance Computing (HPC) Computer components CPU : Central Processing Unit cores : individual processing units within a CPU Storage : Disk drives HDD : Hard Disk Drive SSD : Solid

More information

1 Introduction to Matlab

1 Introduction to Matlab 1 Introduction to Matlab 1. What is Matlab? Matlab is a computer program designed to do mathematics. You might think of it as a super-calculator. That is, once Matlab has been started, you can enter computations,

More information

Introduction to SLURM & SLURM batch scripts

Introduction to SLURM & SLURM batch scripts Introduction to SLURM & SLURM batch scripts Anita Orendt Assistant Director Research Consulting & Faculty Engagement anita.orendt@utah.edu 6 February 2018 Overview of Talk Basic SLURM commands SLURM batch

More information

GPU Computing with CUDA

GPU Computing with CUDA GPU Computing with CUDA Hands-on: Shared Memory Use (Dot Product, Matrix Multiplication) Dan Melanz & Dan Negrut Simulation-Based Engineering Lab Wisconsin Applied Computing Center Department of Mechanical

More information