All Things Considered: What will you need to host a three-day training class on multi-core programming?

All Things Considered: What will you need to host a three-day training class on multi-core programming?


Suppose your university or department has instructors who are capable of teaching the Intel Multi-core Faculty Training class, the next step is to figure out what hardware and software you will need, and the guidelines to setup a classroom environment to facilitate the class. it is assumed that you have joined Intel Academic Community and enrolled in Intel ISN membership which will entitle member to freely download the course materials and use fully functional Intel software needed for this multi-cores faculty training.

Class Description

Intel Multi-core Faculty Training class is an intensive three-day course with classroom lecture and presentations, walk-through examples, and hands-on lab exercises, is tailored for faculty seeking content that will enable them to teach programming concepts and skills required to take full advantage of Multi-core platforms.

This course provides an introduction to Intel Multi-Core Architecture and covers a complete overview of the importance of parallelism, threading concepts, multithreading methodology and programming with threads (Windows*, OpenMP*, Pthreads*). It outlines the most efficient techniques to maximize application performance using Intel Compilers. This course also includes an overview of performance analysis for Multi-Core Platforms using the latest Intel Threading Tools, Intel Thread Checker and Intel Thread Profiler, and covers techniques to design and implement parallel applications that will scale beyond Dual-Core processors to take advantage of the Quad-Core and future Multi-Core Platforms.

Class SizeIntel Multi-core Faculty Training class is designed for a maximum of 15 students and 5 observers. 20 students are the maximum number of students acceptable in order for the class experience to be of maximum value for training attendees.

Hardware Requirements

Most of the labs can be done with laptop with Intel Core 2 Duo or newer processor. However, you will need a multi-core server with Windows server 2003 to support labs provided in module of Scalability of Threaded Applications. The minimum HW requirements to the class are eight Intel Core 2 Duo based laptops (two student share one laptop) and at least one Intel XEON Quad-core based Servers with a minimum of 4 processing cores (2 dual Core or 1 Quad core CPU).

Client system (Dual core Laptop or desktop)

  • OS: Windows XP SP2 (Windows Vista is not validated)
  • Install all required software listed below

If there are servers available for the class, it is recommended to set up network (either wireless or cat5 network) to connect to the server so that students can run lab exercies for Scalability of Threaded Application via remote desktop connection ( RDC) available with Windows XP.

Server system ( Muti-core servers. At least 4 processor cores)

  • OS: Microsoft Windows X86 or X64 Enterprise Server 2003 ( Windows Vista and Server 2008 are not validated)
  • Install all required software listed below

Software Requirements

Please note that newer version of Intel development products are becoming available in a continuous basis. As a result, you may not be able to find the exact version of Intel tools listed here at Intel registration center website. Newer version of same Intel tools will usually provide better performance and support for the class, but are not validated. Below is the list of software required for Intel Multi-cores Faculty Training class and has been validated. You can contact Intel Academic Community for information on how to get the exact version of the software from Intel.

Laptops: Windows XP SP2 or from Original Laptop OEM
(Only 32bits IA32 Intel tools will be loaded on laptops).

  • Java SE JDK
  • Eclipse SDK
  • Microsoft Visual Studio 2005
  • Microsoft DirectX SDK
  • MS Office 2003 ( or MS Word and PowerPoint Free viewer)
  • Adobe Acrobat Reader
  • Intel Math Kernel Library 10.0 ( validated)
  • Intel Integrated Performance Primitives v5.3 for Windows ( validated)
  • Intel C++ Compiler 10 for Windows IA32 (validated)
  • Intel Threading Building Blocks 2.0 for Windows( validated)
  • Intel VTune 9.0 for Windows ( validated)
  • Intel Thread Checker 3.1 for Windows ( validated)
  • Intel Thread Profiler 3.1 for Windows ( validated)

Servers: Microsoft Windows x86 or X64 Server 2003 Enterprise Edition
( If the tools has 64bits version available, you will need to chose the correct version to match the OS of your server):

  • Java SE JDK
  • Eclipse SDK
  • MS Visual Studio 2005
  • MS Platform SDK 1289 or above
  • MS DirectX SDK
  • Intel Math Kernel Library 10.0
  • Intel Threading Building Blocks 2.0 for Windows
  • Intel Integrated Performance Primitives v5.3 for Windows* on Intel 64 (Intel EM64T) architecture
  • Intel C++ Compiler 10 for Windows (all packages)
  • Intel VTune 9.0 Update 3 for Windows
    Intel Thread Checker 3.1 for Windows
  • Intel Thread Profiler 3.1 for Windows

Classroom Requirements

The ideal classroom should have a projector and are laid out with rows of computer tables facing the instructor and offer comfortable space for 20 students.

Wireless Network

Wireless network is preferred as you can station your server in isolated rooms adjacent to the classroom to provide a quiet and comfortable classroom. The network is only needed if you want to provide class attendee to get access to the server to practice the scalability labs.

If laptops used for the class has wireless adaptor. A wireless network should be setup to create a wire-free classroom. The followings are recommended for wireless network setup:

  • Laptops with wireless capability. Most current laptop should have wireless adaptor equipped.
  • A 2.4GHz Wireless G or 5Ghz Wireless A Access Point.
  • Access Point should either connect to 4-ways servers in classroom or Internet for Remote Access.
  • A shared, non-encrypted wireless network just like a wireless network at home.

If the Remote Access Server is provided by hosting university or training provider and Internet access is available in classroom. There are no needs to set up servers inside the classroom. If, for any reasons, that a multi-core servers are not available for your class, due to restrictions such as shipping or custom, it is recommended to make it clear in a pre-class meeting that the Scalability Sessions in the Lab Handbook, Lab 8 activities 1, 2 & 3 can be run on the dual core machines. However activities 4 & 5 need a server with 4 or more cores to correctly run and demonstrate the thread scaling. This is due to the fact that these activities have been designed to demonstrate parallel scaling when you have 4 or more cores. In addition, VTune may not correctly identify all the scaling issues on a smaller number of cores. It is recommended that the information to be exchanged with instructors and set expectations with each instructor in terms of what equipment is going to be available and what modules and labs should be covered for the class.

Wired Network

If laptops with wireless adaptor are not available or not allowed for whatever reasons, a regular network should be setup, and isolated from corporate or university network. A typical computer training room should have a similar classroom configuration, but if the designated room does not have a network (such as a conference room) then you will need to set up one.

Network Setup Tips

  • Be aware of total cable length and repeater count.
  • Do not form a circle network.
  • You should have no more than 3 hubs in a network segment. Use switches or position an uplink in the middle of the classroom to avoid this.
  • Be careful how you connect uplink cables. Some switches have an auto sensing port; the Intel hubs have 2 ports, one for uplink and one for standard networking. Make sure that you only use one of these ports at a time.
  • One hub or switch should be the master hub for the classroom and should uplink only to an external network.

System Imaging

Since most of multi-cores programming labs involves in the change of system and environment variables in Windows, Visual Studio and Intel Tools, all systems used for the trainingneed tobe freshly built. The process involves creating a template system, imaging it, installing the image on the remaining systems, and using scripted process to change their hostname and IP for classroom networking.

More details for HW/SW requirements, instructions for software installation, system configuration and guideline for classroom setup will be posted on Intel Academic Community Wiki. Please stay tuned.

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.