Multi-thread apps for Multi-Core

Use Instructions Retired Events to Evaluate Threading Methodology


Challenge

Evaluate instructions-retired data in conjunction with performance data to examine the correctness of threading methodology. The Instructions Retired processor event in the VTune™ Performance Analyzer is a key performance indicator. Instructions Retired can give you quick insight into possible performance problems in your application.

  • Microsoft Windows* (XP, Vista, 7)
  • Intel® VTune™ Amplifier
  • Multi-thread apps for Multi-Core
  • How to thread?
  • Performance analysis
  • Параллельные вычисления
  • Win32 Functions to Create, Suspend, and Terminate Threads

    Apply procedures provided by the Microsoft Win32 API to create, suspend, resume, and terminate threads. Context switching in a multithreaded application is cheaper than context switching of multiple processes, because switching processes carries a lot more overhead than switching threads.
  • Разработчики
  • Microsoft Windows* (XP, Vista, 7)
  • synchronization
  • Multi-thread apps for Multi-Core
  • How to thread?
  • Параллельные вычисления
  • Two Brains Are Better Than One

    Artificial intelligence (AI) drives gameplay. To maximize your AI’s potential and utilize the entire CPU, this means threading. This article examines how to thread a simple AI and some of the challenges in writing an AI that truly scales to multi-core.
  • Разработчики
  • Разработка игр
  • Smoke - демонстрация игровых технологий
  • Multi-thread apps for Multi-Core
  • Artificial intelligence
  • How to thread
  • Design
  • multi-core
  • physics
  • visual computing
  • Разработка игр
  • Графика
  • Параллельные вычисления
  • Многопоточность
  • How Special Silicon Facilitates Parallel Arithmetic

    SIMD (for single instruction, multiple data) enables one arithmetic instruction to be performed across multiple data items simultaneously. This article lightly touches on the advantages of SIMD for parallel applications.
  • Разработчики
  • Intel® C++ Compiler
  • Intel® Streaming SIMD Extensions
  • Multi-thread apps for Multi-Core
  • physics
  • visual computing
  • Разработка игр
  • Графика
  • Параллельные вычисления
  • Parallel while


    Introduction

    Example that uses parallel_while to do parallel preorder traversal of a sparse graph.
    Each vertex in the graph is called a "cell". Each cell has a value. The value is a matrix. Some of the cells have operators that compute the cell's value, using other cell's values as input. A cell that uses the value of cell x is called a successor of x.

    The algorithm works as follows.

     

  • Компоненты Intel® Threading Building Blocks
  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Параллельные вычисления
  • Pipeline


    Text filter that demonstrates class pipeline


    text_filter.cpp
    Copyright 2005-2006 Intel Corporation. All Rights Reserved.

     

    Example program that reads a file of text and changes the first letter of each word to upper case.

  • Компоненты Intel® Threading Building Blocks
  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Параллельные вычисления
  • Substring finder


    Introduction

    A simple example that uses the parallel_for template in a substring matching program. For each position in a string, the program displays the length of the largest matching substring elsewhere in the string. The program also displays the location of a largest match for each position. Consider the string "babba" as an example. Starting at position 0, "ba" is the largest substring with a match elsewhere in the string (position 3).

    ==============================================================================

  • Компоненты Intel® Threading Building Blocks
  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Параллельные вычисления
  • Task - tree sum


    Introduction

    This is a simple example that sums values in a tree. The example exhibits some speedup, but not a lot, because it quickly saturates the system bus on a multiprocessor. For good speedup, there needs to be more computation cycles per memory reference. The point of the example is to teach how to use the raw task interface, so the computation is deliberately trivial.


    SerialSumTree.cpp

    ==============================================================================

    Copyright 2005-2006 Intel Corporation. All Rights Reserved.

  • Компоненты Intel® Threading Building Blocks
  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Параллельные вычисления
  • Parallel for -Tachyon

    Parallel raytracer / renderer that demonstrates the use of parallel_for.
    This example includes software developed by John E. Stone. See below for copyright information.
    Tachyon Ray Tracing System

  • Компоненты Intel® Threading Building Blocks
  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Параллельные вычисления
  • Parallel for

    Parallel seismic simulation that demonstrates use of parallel_for.

     

    SeismicSimulation.h
    ==============================================================================
    Copyright 2005-2006 Intel Corporation. All Rights Reserved.
    ==============================================================================

  • Компоненты Intel® Threading Building Blocks
  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Параллельные вычисления
  • Подписаться на Multi-thread apps for Multi-Core