Rebuilding the Tower of Hanoi

Sometimes seemingly serial computations may be coded with parallel algorithms if you can figure out how to present the final results in the proper order.

The CoreInfo 3.03 Utility Provides Detailed Intel Instruction Sets

The newest version of CoreInfo provides a detailed summary of all the instructions sets that the CPUs found on the system support.

Linked Lists Are, Like, So Last Century

Give up your sequential linked lists in favor of tree structures for all of your unordered data when processing that data in parallel.

Seeing the Light with Backtracking

Use the processing speed of computers to generate and explore different possible configurations to solve Akari puzzles.

Boost Performance for Your Android Native Code

The Android NDK is a toolset that lets you embed components that make use of native code in your Android applications.

Calling IPP Functions from C# Code

Intel Integrated Performance Primitives, also known as IPP, is a library of highly optimized math software functions for digital media and data-processing applications.

Three Parallel Backtracking Designs

Clay presents three design versions of the parallel NQueens() function.

Retrieving Detailed Information About Your Intel Multicore CPU Features with Intel IPP

There are several ways of retrieving detailed information about your Intel multicore CPU features. I discovered two functions in IPP that provide most of the information I usually need.

Implicit CPU Vectorization with Intel OpenCL SDK 1.5

Intel OpenCL SDK 1.5 includes important performance enhancements specifically designed for the latest Intel 2nd Generation Core Processors and outlines a path for future performance improvements.

Backtracking for Fun and Profit

Backtracking can be used to find all (or some) solutions to problems that are able to incrementally build candidates to solutions.

Booting an Intel Architecture System, Part II: Advanced Initialization

Once the processor is running and memory has been initialized, timers and devices must be started up and a memory map laid out. Only then, can the OS be loaded.

Welcome to the Jungle

The free lunch is over. Now welcome to the hardware jungle.

Booting an Intel Architecture System, Part I: Early Initialization

How Data Dependence Affects Performance

PPoPP '12: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
  • February 25-29
    PPoPP '12 will be held in New Orleans, Louisiana.
4th Annual Cloud Computing Summit 2012 HPC 2012: 20th High Performance Computing Symposium
  • March 26-29
    HPC 2012 will be held in Orlando, Florida.
HIPS: International Workshop on High-Level Parallel Programming Models and Supportive Environments
  • May 21-25
    HIPS will be held in Shanghai, China.
26th International Conference on Supercomputing SC12
  • November 10-16
    SC12 will be held in Salt Lake City, Utah.

Optimization Notice

Intel® compilers, associated libraries and associated development tools may include or utilize options that optimize for instruction sets that are available in both Intel® and non-Intel microprocessors (for example SIMD instruction sets), but do not optimize equally for non-Intel microprocessors.  In addition, certain compiler options for Intel compilers, including some that are not specific to Intel micro-architecture, are reserved for Intel microprocessors.  For a detailed description of Intel compiler options, including the instruction sets and specific microprocessors they implicate, please refer to the "Intel® Compiler User and Reference Guides" under "Compiler Options."  Many library routines that are part of Intel® compiler products are more highly optimized for Intel microprocessors than for other microprocessors.  While the compilers and libraries in Intel® compiler products offer optimizations for both Intel and Intel-compatible microprocessors, depending on the options you select, your code and other factors, you likely will get extra performance on Intel microprocessors.

Intel® compilers, associated libraries and associated development tools may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors.  These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3) instruction sets and other optimizations.  Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel.  Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors.

While Intel believes our compilers and libraries are excellent choices to assist in obtaining the best performance on Intel® and non-Intel microprocessors, Intel recommends that you evaluate other compilers and libraries to determine which best meet your requirements.  We hope to win your business by striving to offer the best performance of any compiler or library; please let us know if you find we do not.

Notice revision #20101101

Enabling People and Organizations to Harness the Transformative Power of Technology