C++并行应用开发包,Thrust v1.6.0 发布

fmms 13年前
     <p>Thrust 是一个开源的 C++ 库用于开发高性能并行应用程序,以 C++ 标准模板库为蓝本实现,Thrust 带来一系列并行计算领域的抽象层。</p>    <p><img title="Thrust logo" alt="C++并行应用开发包,Thrust v1.6.0 发布" src="https://simg.open-open.com/show/a2d885ebf2f2ee12242c3f02c3b8d221.gif" width="90" height="90" /></p>    <p>下面示例代码用来并行结算 100 个随机数的和:</p>    <pre class="brush:cpp; toolbar: true; auto-links: false;">#include         <thrust host_vector.h="">            #include           <thrust device_vector.h="">              #include             <thrust generate.h="">                #include               <thrust reduce.h="">                  #include                 <thrust functional.h="">                    #include                   <algorithm>                     #include                     <cstdlib>                       int main(void)  {    // generate random data serially    thrust::host_vector                      <int>                         h_vec(100);    std:generate(h_vec.begin(), h_vec.end(), rand);      // transfer to device and compute sum    thrust::device_vector                        <int>                           d_vec = h_vec;    int x = thrust::reduce(d_vec.begin(), d_vec.end(), 0, thrust::plus                          <int>                            ());    return 0;  }                          </int>                        </int>                      </int>                    </cstdlib>                  </algorithm>                </thrust>              </thrust>            </thrust>          </thrust>        </thrust></pre>    <br />    <br /> Thrust v1.6.0 发布,该版本允许开发者扩展和定制 Thrust 算法,甚至是重新开发整个全新的并行处理后端。同时 1.6 版本还增加对基于 TBB (Threading Building Blocks) 库的后端系统,可更好的将 Thrust 算法已现有的已依赖 TBB 运行的应用进行集成,用于智能的任务调度。    <p></p>