Bolt C++ Template Library is an STL compatible library of high level constructs for creating accelerated data parallel applications

Bolt is an STL compatible library of high level constructs for creating accelerated data parallel applications. Code written using STL or other STL compatible libraries (example: TBB) can be converted to Bolt in minutes. Bolt supports C++ AMP in addition to OpenCL™ as underlying supported compute technologies. With Bolt, kernel code to be accelerated is written in-line in the C++ source file. No OpenCL™ or C++ AMP API calls are required since all initialization of and communication with the OpenCL™ or C++ AMP device is handled by the library. Bolt includes comprehensive documentation for the library routines, memory management, control interfaces, and host/device code sharing.

In addition to adding support for C++ AMP and CPU-only systems, Bolt includes common compute-optimized routines such as sort, scan, transform, and reduce operations. Additionally you will find performance improvements, and we will continue to improve performance in future Bolt releases.

Bolt Source

The source to Bolt is now available on GitHub, the open source social programming platform.

What’s New

Bolt V1.2 GA Now Available. Learn more about the latest features here: https://github.com/HSA-Libraries/Bolt/releases/tag/v1.2GA

Downloads

Download the binaries from the table below.

 

 

Contribute

We welcome the community to help build the Bolt ecosystem by becoming a contributor to the Bolt project.  We also invite you to help promote Bolt by submitting Bolt sample application code to the samples repository on GitHub.  We’re looking for well written example code that highlights Bolt’s ability to deliver high performance with ease of programming. There are additional details about how to use Bolt in Kent’s blog.

Visit the Bolt forum  to share your experience with your peers, and to learn more about our Bolt sample competition.

 

Monte Carlo Sample in Bolt

This blog post describes a Bolt sample using a Monte Carlo algorithm to compute PI. A library and sample are provided below. Read the blog post here.

Download Instructions for MonteCarloPI

  1. Visit AMD SDK Sample Browser.
  2. In the “Technology,” select “Bolt”.
  3. Then select “MonteCarloPI” from the sample menu.

Monte-Carlo π sample

Please find a Bolt sample for computing π using a Monte-Carlo algorithm in the table below.  For further details on the sample, and how it is created with a few simple modifications from a sample using the C++ Standard Template Library, please refer to Siu Chi’s blog.

 

Latest Bolt C++ Template Library  Downloads

An update to the Bolt library preview is available which fixes some minor issues.  Please install this updated version of the Bolt library on your development system in order to use the new Bolt sample that illustrates use of Bolt to compute π using a monte-carlo type algorithm.

 

File Name Version Size Launch Date OS Bitness Description
Read Me File

File Name

Version

1.2

Size

1 KB

Launch Date

07/02/2014

OS

-

Bitness

-

Description

Specifies the details of the zip file and the corresponding MD5SUM values
Bolt C++ Template Library for Visual Studio 2013

File Name

Version

1.2

Size

14.7 MB

Launch Date

07/02/2014

OS

Windows 7/8.1

Bitness

32/64-bit

Description

Bolt library v1.2 for Visual Studio 2013
Bolt C++ Template Library for Visual Studio 2010

File Name

Version

1.2

Size

11.8MB

Launch Date

07/02/2014

OS

Windows 7/8.1

Bitness

32/64-Bit

Description

Bolt library v1.2 for Visual Studio 2010

File Name

Version

1.1

Size

10.9 MB

Launch Date

11/11/13

OS

Windows 7/8.1

Bitness

32/64-Bit

Description

Bolt library v1.1 for Visual Studio 2010
Bolt C++ Template Library for Visual Studio 2012

File Name

Version

1.2

Size

14.8 MB

Launch Date

07/02/2014

OS

Windows 7/8.1

Bitness

32/64-bit

Description

Bolt library v1.2 for Visual Studio 2012

File Name

Version

1.1

Size

14,305 KB

Launch Date

11/11/13

OS

Windows 7/8/8.1

Bitness

32/64-Bit

Description

Bolt library v1.1 for Visual Studio 2012
Samples

File Name

Version

N/A

Size

7KB

Launch Date

04/23/13

OS

Windows 7/8

Bitness

64-bit

Description

Bolt sample demonstrating computation of Pi using a Monte-Carlo based algorithm
Bolt C++ Template Library for Linux

File Name

Version

1.2

Size

4.4 MB

Launch Date

07/02/2014

OS

Linux

Bitness

32/64-bit

Description

Bolt library v1.2 for Linux

File Name

Version

1.1

Size

4,025 KB

Launch Date

11/11/13

OS

Linux

Bitness

32/64

Description

Bolt library v1.1 for Linux