gather与scatter正好相反:

scatter是顺序输入根据map确定撒点输出位置。

#include <thrust/scatter.h>
#include <thrust/device_vector.h>
#include <thrust/execution_policy.h>
...
// mark even indices with a 1; odd indices with a 0
int values[10] = {1, 0, 1, 0, 1, 0, 1, 0, 1, 0};
thrust::device_vector<int> d_values(values, values + 10);
// scatter all even indices into the first half of the
// range, and odd indices vice versa
int map[10]   = {0, 5, 1, 6, 2, 7, 3, 8, 4, 9};
thrust::device_vector<int> d_map(map, map + 10);
thrust::device_vector<int> d_output(10);
thrust::scatter(thrust::device,d_values.begin(), d_values.end(),d_map.begin(), d_output.begin());
// d_output is now {1, 1, 1, 1, 1, 0, 0, 0, 0, 0}

gather是根据map确定输入元素的位置,输出是按顺序的。

#include <thrust/gather.h>
#include <thrust/device_vector.h>
#include <thrust/execution_policy.h>
...
// mark even indices with a 1; odd indices with a 0
int values[10] = {1, 0, 1, 0, 1, 0, 1, 0, 1, 0};
thrust::device_vector<int> d_values(values, values + 10);
// gather all even indices into the first half of the range
// and odd indices to the last half of the range
int map[10]   = {0, 2, 4, 6, 8, 1, 3, 5, 7, 9};
thrust::device_vector<int> d_map(map, map + 10);
thrust::device_vector<int> d_output(10);
thrust::gather(thrust::device,d_map.begin(), d_map.end(),d_values.begin(),d_output.begin());
// d_output is now {1, 1, 1, 1, 1, 0, 0, 0, 0, 0}

如图:

gather 从map中的索引去d_values中取值,放在d_output当前位置,

具体可以查看 https://blog.csdn.net/seamanj/article/details/82976687
————————————————
版权声明:本文为CSDN博主「Scott f」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shungry/article/details/103079320

thrust 学习笔记相关推荐

  1. Apm飞控学习笔记-姿态控制-Cxm

    目录 PX4/APM/飞控的学习笔记前言-Cxm_chen_taifu的博客-CSDN博客开始了 开始了终于有时间可以学习飞控了此文章是用来当目录,我会持续更新我的学习之旅,希望能对各位有所帮助如果有 ...

  2. PixHawk学习笔记 之 源码浅析——mc_pos_control.cpp——task_main

    注意:基于"Firmware-1.6.0rc1" 献上固件源码分享链接:https://pan.baidu.com/s/1kUPocmF 密码:j55a 自己边学边写的,一定有错, ...

  3. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  4. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  5. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  6. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  7. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  8. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  9. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

最新文章

  1. 离散数学--二元关系总结
  2. Oracle 原理: 视图,对视图进行增删改操作
  3. 教大家python读取一行一行文件内容的方法
  4. halcon 3D Object Model 三维物体模型算子,持续更新
  5. Spring—注解开发
  6. idea lombok 离线安装_Lombok与IntelliJ IDEA干了一架,完胜
  7. 转帖Masonry介绍与使用实践(快速上手Autolayout)
  8. alert弹框里弹一个表格_Python学习第十三弹 输入与输出
  9. 持续集成商 Travis CI 爆严重漏洞,数千开源项目机密或被盗
  10. useradd添加用户
  11. 2021年还有人用.net吗
  12. 深入了解机器学习 (Descending into ML):训练与损失
  13. 路由器 设置DNS 域名拦截 重定向
  14. js 获取汉字首拼和全拼和拼音
  15. 如何记账能简单高效,记账全攻略来了
  16. VMR-21论文总结
  17. 最详细的Java程序打包成“可安装使用”的桌面应用
  18. Linux 不重启添加SCSI硬盘方法
  19. 计算机备份与恢复教案,15数据备份与恢复(教案)
  20. 源代码加密软件类型分析

热门文章

  1. linux 内核编译 错误 fatal error: linux/compiler-gcc6.h: No such file or directory
  2. Medoo入门:安装和配置-Medoo使用指南
  3. 使用Windbg解析dump文件
  4. warning C4251 needs to have dll-interface解决办法
  5. 调试寄存器 原理与使用:DR0-DR7
  6. Android中的URI
  7. 交换分区的查看与扩容
  8. mysql 8.14 rpm安装_centos8 安装 mysql8
  9. 计算机图形学三大应用领域,计算机图形学作业
  10. sqlalchemy 使用mysql_使用SQLALchemy连接MySql数据库并进行操作