Posts

Showing posts with the label parallel processing

High-Performance Linpack

Image
 HPL Benchmark on my laptop It's the Top500 season time. I therefore tested HPL on my laptop using Intel's latest OneAPI version 2021.1.10.2261. The laptop specifications are obtained from lscpu : $ lscpu Architecture:                    x86_64 CPU op-mode(s):                  32-bit, 64-bit Byte Order:                      Little Endian Address sizes:                   39 bits physical, 48 bits virtual CPU(s):                          8 On-line CPU(s) list:     ...

Virtual Cluster using VirtualBox

Image
I tested the new HPC Europa Milestone 6 DVD and created a virtual cluster using VirtualBox on my laptop. I created a head-node and two computing nodes connected via a VLAN.  The head node has two network interfaces, NAT which enables the connection to the outside world and an internal virtual interface. The two computing nodes have only one network interface each for the VLAN. In picture number 1 the VirtualBox dashboard is shown with the 3 running computers Picture number 1: The VirtualBox dashboard showing the 3 running computers of the virtual cluster Picture number 2: The desktop of the head node (left) and the two computing nodes (right) In picture number two a PBS job executing a simple MPI task is demonstrated. The head node is on the left and the two computing nodes are on the right. My general impression is that this Virtual Cluster is an excellent tool for education where the teacher and later on the students can experience Parallel Processing using the...

Teaching CUDA/OpenCL in my course

Image
Starting from Semester 2010B I am going to incorporate CUDA/OpenCL Programming for GPGPUs as a chapter in my Introduction to Parallel Processing course ( link to 2010A course ).

Parallel Computing on Windows

Image
There are many ways to use MPI. In this post I show how to install and use the DeinoMPI implementation which looks very cool and is free. The screen captures in this post were taken using the nice SnapIt tool. Part 1: Installing DeinoMPI After downloading and starting the msi file: Part 2: Configuring DeinoMPI 2.1 Start the deinoMPI daemon: 2.2 Credentials Part 3: Testing In this part I show how to compile a MPI program with the free Bloodshed DevC++ IDE . I use the famous cpi.c code This installation is "Local Only" (perhaps in one of my future posts I will show how to use this tool with more than one node): The Windows Firewall is noticing the new player: Here is the execution and output window: It is nice to see the Task Manager showing the 10 parallel running processes: Part 4: A little-bit Mathematics The integration in cpi.c is done for f(x)=1/(1+x**2) between 0 to 1. It is nice to replace this function by f(x)=sqrt(1-x**2) also between 0 to 1 (the unit circle). St...

MPI.NET Tutorial

Image
In this post I will show step by step how to install and execute MPI (Message Passing Interface) parallel programs in the .NET environment. A much more detailed tutorial is available here . 1) Installation: My computer is running Windows Vista and Visual Studio 2008 is already installed. Download and install the HPC Pack 2008 (next 5 figures): Then install the MPI.NET SDK.msi (see next 4 figures): 2) Test the installation from the command line (next 3 figures): A "Ping-Pong" program Serial run: As should be, the firewall detects the communication traffic and the user should allow it: Parallel run: 3) MPI "Hello" demo using Visual Studio 2008 and C# (next 5 figures): Start a new console C# project: Add Reference to the MPI component: Build the executable: Execute the parallel program with 8 threads: Verifying the execution of the 8 threads by looking at the Task Manager: That's all for now. Your comments are welcome. Guy Tel-Zur Email: tel-zur@computer.org

Invitation to the next IGT HPC Work group meeting

Image
Monday, March 26th, 2007 IGT Offices, Maskit 4, 5th Floor, Hertzliya Agenda: 14:00-14:15: OPENING - Avner & Guy 14:15-14:50: PPF, JAVA, OPEN-SOURCE AND GRID: BEYOND THE TRADITIONAL GRID Speaker: Laurent Cohen, ILOG, Inc. and JPPF founder Abstract: Traditional Grid architectures rely on a concept of job submission that comes with a set of constraints regarding the nature of the compute nodes, the ease of deployment of the jobs, and the effort required to use the Grid, which could otherwise be utilized to work on the problems to solve. JPPF offers an alternative, enabling a true heterogeneous nature of the Grid components, an ease of use that permits ...