Multi-thread apps for Multi-Core

Cache Effects on Applications Running on Hyper-Threading Technology-Enabled Processors


Challenge

Gauge whether the negative impact of sharing data-cache resources will outweigh the performance increases for a specific application. Depending on the application characteristics, Hyper-Threading Technology's shared caches have the potential to help or hinder performance.

  • Hyper-Threading
  • Multi-thread apps for Multi-Core
  • Computação paralela
  • Cache Block Size on Processors without Hyper-Threading Technology


    Challenge

    Determine the optimum size for cache blocks in applications for systems that do not support Hyper-Threading Technology. For optimal performance, cache blocks should be sized such that each data element is reused within the data block.

    This issue is addressed for systems that support Hyper-Threading Technology in a separate item, How to Optimize Cache Block Size on Processors that Support Hyper-Threading Technology.

  • Hyper-Threading
  • Multi-thread apps for Multi-Core
  • Computação paralela
  • Cache Block Size on Processors that Support Hyper-Threading Technology


    Challenge

    Determine the optimum size for cache blocks in applications for a Hyper-Threading Technology-enabled system that supports two logical processors. For optimal performance, cache blocks should be sized such that each data element is reused within the data block.

  • Hyper-Threading
  • Multi-thread apps for Multi-Core
  • Computação paralela
  • Number of Logical Processors per Physical Processor


    Challenge

    Identify the number of Hyper-Threading Technology enabled logical processors supported by a physical processor. To maximize performance from Hyper-Threading Technology, applications may set processor affinity on a per-thread basis. With knowledge of application thread-resource requirements, you can effectively schedule threads on logical processors based on their association to the physical processors.

  • Multi-thread apps for Multi-Core
  • How to thread?
  • Computação paralela
  • Parallel reduce


    Parallel version of the Sieve of Eratosthenes

    Copyright 2005-2006 Intel Corporation. All Rights Reserved.

    Example program that computes number of prime numbers up to n, where n is a command line argument. The algorithm here is a fairly efficient version of the sieve of Eratosthenes. The parallel version demonstrates how to use parallel_reduce, and in particular how to exploit lazy splitting.

  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Computação paralela
  • Thread
  • 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.

     

  • Módulos de sub-rotinas Intel®
  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Computação paralela
  • 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).

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

  • Módulos de sub-rotinas Intel®
  • Multi-thread apps for Multi-Core
  • Threaded Code examples
  • Computação paralela
  • Assine o Multi-thread apps for Multi-Core