# Array of Reducers - Possible in C?

I was wondering if it is possible to create an array of reducers in C?

I already read the documentation, but they use always only one reducer. However, how do I use Cilk reducers for an array with int or double values? Can you give  me a short example?

# Parallel Computation of Sparse Rulers

This article explains the sparse ruler problem, two parallel codes for computing sparse rulers, and some new results that reveal a surprising "gap" behavior for solutions to the sparse ruler problem. The code and results are included in the attached zip file.

## Background

A complete sparse ruler is a ruler with M marks than can measure any integer distance between 0 and L units. For example, the following ruler has 6 marks (including the ends) and can measure integer distance from 0 to 13:

• Profesores
• Estudiantes
• C/C++
• Intermedio
• Intel® Cilk™ Plus
• Cilk Plus
• Intel® Streaming SIMD Extensions
• Computación en paralelo
• # Program Optimization through Loop Vectorization

## Overview

In this white paper, we will use a very simplified finite difference stencil computation of the following form:

• Servidor
• Intel® C++ Compiler
• Intel® Cilk™ Plus
• Intel® Fortran Compiler
• undefined
• Arquitectura Intel® para muchos núcleos integrados
• # Graph Algorithms: Shortest Path

Dijkstra algorithm is a graph search algorithm that solves the single-source shortest path problem for a graph with non-negative edge path costs, producing a shortest path tree. The algorithm requires repeated searching for the vertex having the smallest distance and accumulating shortest distance from the source vertex. This example calculates the shortest path between each pair of vertexes in a complete graph having 2000 vertexes using Dijkstra algorithm. It run serially, with Intel® Cilk™ Plus Array Notation (AN) for vectorization, with Intel Cilk Plus cilk_for for parallelization, and with both vectorization and cilk_for.

# Sorting Algorithms: Merge Sort

Merge sort algorithm is a comparison-based sorting algorithm. In this sample, we use top-down implementation, which recursively splits list into two halves (called sublists) until size of list is 1. Then merge these two sublists and produce a sorted list. This sample could run in serial, or in parallel with Intel® Cilk™ Plus keywords cilk_spawn and cilk_sync. For more details about merge sort algorithm and top-down implementation, please refer to http://en.wikipedia.org/wiki/Merge_sort.

# Getting Started with Intel® Cilk™ Plus and Code Samples

Intel® Cilk™ Plus allows you to improve performance by adding parallelism to your C or C++ programs. It adds fine-grained task support to C and C++, making it easy to add parallelism to both new and existing software to efficiently exploit multiple processors and the vector instructions available on modern CPUs. It provides simple language extensions to express data and task parallelism to the C and C++ language implemented by the Intel® C++ Compiler.