Intel® Threading Building Blocks

Most efficient way to process row-major 2-D matrix column wise


I'm testing out TBB right now. One of the algorithms I want to parallelize works on a row-major 2-D matrix by processing a column at a time.

How can I code this in TBB such that my algorithm can work on a column at a time?

Assuming that: matrix is M (row) x N (column), and given pointer float* that points to the (0,0) of the matrix. Assume further that the matrix is contiguous.

Originally, I hand-coded this such that for each element in the column, I stride by i*N to get to the next row.

TBB Task Scheduler: Integrating Data Tasks for Data Parallelism (need help)

I have spent the past semester researching how to combine data parallelism with TBB, so that TBB can offset data tasks to a GPU when available. My work is nearly complete, and now I need to ask the TBB community for some help. My approach is to separate data parallelism from task parallism, which involves the creation of a new type of task: the data task. For the purposes of my work, a data task represents an operation which can utilize data parallelism. For example, multiplying a large vector by a scalar, or a matrix by a scalar.

Is this TBB roadmap still accurate?

I was just looking for TBB's current roadmap and found this article:

It says roadmap on it, but it's from 2007, so I was wondering if things have changed.

By taking a quick look at it and the current situation it seems IO has gotten postponed, which

in my case is ok, since I use ASIO for IO, but was wondering if TBB is still considering IO, or if

Warnings in Visual Studio 2008: C4512, C4127, C4244, C4100 (#include <concurrent_hash_map>)


I downloaded TBB (tbb21_20080605oss binary for Windows)and started using concurrent_hash_map. However using it triggers warnings by Visual Studio (I am compiling on the highest warning level). I have a habit to compile without a single warning, so I clearly want to iron them out. Some of these can be easily fixed, so it would be great if the fixes made it to some future release :-)

All warnings I am seeing (along with comment on how/whether it's possible to fix them)

Can I use tbb::thread?

Quick question. Why is tbb::thread not part of the "disclosed" API? Currently I'm using Boost::thread, but was wondering if there might be any benefits in switching to tbb's thread, however since its not officially documented I was wondering if its not meant to be used by end-users, perhaps tbb's devs want to reserve the rights to swap the low level threading API as needed so it's not a reliable API, or something else like that.


Подписаться на Intel® Threading Building Blocks