Parallel MATLAB: Task Computing 3pm - 4pm, Friday, July 2 2010 3060 Torgersen Hall Virginia Tech's new Ithaca cluster offers the research community access to parallel MATLAB on up to 64 cores. Interested users need to learn about what kinds of problems can be handled in parallel, how one modifies an existing MATLAB program to express a parallel algorithm, and how such a program is executed. In this lecture, we will present the task computing model of parallel computing with MATLAB. We will concentrate on one simplified version, what we call the "scattered task" model. In this case, a computation consists of a number of almost completely independent tasks, which can be carried out in any order, and which do not require any communication or data sharing. Only when all the tasks are completed is there a chance to examine or gather the overall results. This kind of programming is especially typical of Monte Carlo calculations where, for instance, the computation consists of running the same simulation many times, but each time with slightly different input. We will show several example programs that work with this task model. We will cover the ways of running a parallel program on your desktop (interactively or indirectly), and how you can set up a link to Ithaca so that you can send jobs there and receive results without leaving your desktop MATLAB session. MATLAB also allows for a more sophisticated kind of "parallel task programming", in which the tasks must run at the same time, and can communicate through messages. This is one way to do systolic programming, for instance. It is interesting to compare this with the usual way of doing this using SPMD commands. However, we will probably be able to consider at most one example of this kind of parallel task programming during the lecture. The slides for this class are available online at "http://people.sc.fsu.edu/~burkardt/presentations/vt_2010_tasks.pdf". Please note that, to make use of parallel MATLAB, your desktop machine must have access to the Parallel Computing Toolbox. This is automatically available as part of the campus-wide concurrent license version of MATLAB; however, it is NOT part of most standalone licences. If you want to try out the direct desktop link to Ithaca, we encourage you to get an account on Ithaca in advance of the class, by going to http://www.arc.vt.edu/index.php, and, under "Services & Support" selecting "User Accounts". Once you have an account, you should also refer to the document "https://portal.arc.vt.edu/matlab/RemoteMatlabSubmission.pdf". If you have trouble with the steps described in this document, you may contact the instructors for advice and help.