常思大妹子
码龄5年
关注
提问 私信
  • 博客:55,878
    55,878
    总访问量
  • 32
    原创
  • 2,087,403
    排名
  • 22
    粉丝
  • 0
    铁粉

个人简介:自学成才的社会学女硕士

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2020-01-01
博客简介:

yiguagua的博客

查看详细资料
个人成就
  • 获得51次点赞
  • 内容获得1次评论
  • 获得214次收藏
  • 代码片获得170次分享
创作历程
  • 32篇
    2020年
成就勋章
TA的专栏
  • 高性能计算
    14篇
  • 论文学习笔记
    2篇
  • matlab
  • C++
    9篇
  • 杂项
    1篇
  • 机器学习实战
  • 机器学习理论
  • spark
    5篇
  • python
    8篇
兴趣领域 设置
  • 人工智能
    语音识别机器学习深度学习神经网络自然语言处理tensorflownlp数据分析
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

345人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Windows下PyTorch开发环境搭建

1. 基于CPU的开发环境前置条件是已经安装好python3(建议安装Anaconda)登陆官网,选择相应版本、Windows、Pip安装、python、无CUDA复制下面的命令行pip install torch1.6.0+cpu torchvision0.7.0+cpu -f https://download.pytorch.org/whl/torch_stable.html打开Anaconda Prompt,等待安装完毕- 进入python,输入import torch测试是否安装成功,
原创
发布博客 2020.09.16 ·
912 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python编程之numpy(3)-数学和矩阵运算

1. 元素乘除arr = np.array([[1., 2., 3.], [4., 5., 6.]])arr * 2array([[ 2., 4., 6.], [ 8., 10., 12.]])arr * arrarray([[ 1., 4., 9.], [16., 25., 36.]])1 / arrarray([[1. , 0.5 , 0.33333333], [0.25 , 0.2
原创
发布博客 2020.09.12 ·
459 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

python编程之numpy(2)-索引、切片

1. 基本操作# 取第二行元素arr = np.array([[1., 2., 3.], [4., 5., 6.]])arr[1]array([4., 5., 6.])# 切片取部分元素arr[0, 0:2]array([1., 2.])2. 根据条件取部分元素zimu = np.array(['A', 'B', 'C', 'A', 'D', 'B', 'A'])data = np.random.randn(7, 4)dataarray([[ 0.34553564, 0.
原创
发布博客 2020.09.05 ·
235 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python编程之numpy(1)- 创建矩阵或向量

1. 基本示例# 创建矩阵np.array([[1, 2, 3], [4, 5, 6.1]])array([[1. , 2. , 3. ], [4. , 5. , 6.1]])只要有一个是浮点数,其它元素自动提升为浮点数2.指定元素类型# 定义类型np.array([1, 2, 3], dtype=complex)array([1.+0.j, 2.+0.j, 3.+0.j])3.基于步长构造序列 arange0-n 的向量arr1 = np.arange(10)
原创
发布博客 2020.07.20 ·
2544 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

OpenCL编程(2)- 程序基本流程,以向量相加为例

下面以一个OpenCL的HelloWorld——向量相加,来说明OpenCL程序的基本流程1.查询平台信息OpenCL标准中定义平台模型的概念,一个平台会指定一个主机(host)和对应的一个或多个设备(device)处理器。比如如果是一个CPU+GPU的环境,则CPU是host,GPU是device查询平台信息分为两步,均调用clGetPlatformIDs接口第一步,查询平台个数第二部,查询平台对象示例代码如下: cl_int iStatus = 0; // 函数返回状态 cl_
原创
发布博客 2020.07.14 ·
399 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

OpenMP编程(6)—数据作用域(private、firstprivate、lastprivate、shared、default、reduction、copyin、threadprivate)

数据作用域说明:数据作用域定义了程序串行部分中的数据变量中的哪些以及如何传输到程序的并行部分,定义了哪些变量对并行部分中的所有线程可见,以及哪些变量将被私有地分配给所有线程。数据作用域子句可与多种指令(如parallelL、for、sections等)一起使用,以控制封闭区域变量的作用域OpenMP基于共享内存编程模型,所以大多数变量在默认情况下是共享的1. parivate2. firstprivate3. lastprivate4. shared5. shared6. defaul
原创
发布博客 2020.07.04 ·
3643 阅读 ·
4 点赞 ·
0 评论 ·
14 收藏

OpenMP编程(5)—同步结构(master、critical、barrier、atomic、flush、ordered)

OpenMP的同步结构(Synchronization Constructs)指令包master、critical、barrier、atomic、flush、ordered等1. master指令master指令指定的区域只由主线程执行,团队中其他线程都跳过该区域代码本指令没有隐含的barrier,即其他线程不用再master区域结束处同步,可立即执行后续代码。代码示例如下#pragma omp parallel { #pragma omp master { printf("i
原创
发布博客 2020.07.02 ·
6836 阅读 ·
11 点赞 ·
0 评论 ·
42 收藏

OpenMP编程(4)—sections、single指令

1. sections指令1.1 sections指令用途SECTIONS指令用于非迭代的多线程共享区。它指定各个section代码段分配给一组线程中部分线程。多个独立的section指令嵌套在sections指令中,每个section由于其中一个线程执行一次。不同的section可以由不同的线程执行。当然对于一个线程来说,如果它运行足够快,是有可能执行多个section。1.2 sections语法格式#pragma omp sections [clause ...] newline
原创
发布博客 2020.07.01 ·
3167 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

OpenMP编程(3)—for指令(含schedule、nowait)

1. for指令用途for指令指定紧随其后的循环迭代由一组线程并行执行。2. for指令语法格式#pragma omp for [clause ...] newline schedule (type [,chunk]) ordered private (list) firstprivate (list) lastprivate (li
原创
发布博客 2020.07.01 ·
3652 阅读 ·
3 点赞 ·
0 评论 ·
13 收藏

OpenMP编程(2)—并行区域(Parallel Region)

1. 并行区域(Parallel Region)概念并行区域是由多个线程执行的代码块,是基本的OpenMP并行结构。当一个线程到达并行指令时,它将创建一组线程并成为主(master)线程,其线程号为0。从这个并行区域开始,代码被复制,所有线程都将执行该代码。在并行区域的结尾有一个隐含的屏障(barrier),只有主线程继续执行超过此点。如果任何线程在一个并行区域内终止,那么该组的所有线程都将终止。2. 并行区域的代码示例 int nthreads, tid; // fork一组线程,并
原创
发布博客 2020.06.30 ·
1963 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

OpenMP编程(1)—基础概念

OpenMP是什么一种应用程序接口(API),可用于对程序显式地设置多线程、基于共享内存地并行处理通过来自硬件和软件行业、政府和学术界的相关方之间的协作,实现多处理的开放规范包含三种主要的API组件:编译指令(Compiler Directives)、运行时库(Runtime Library Routines)、环境变量(Environment Variables)OpenMP不是什么不能用于分布式内存并行系统不需要由所有供应商来统一实现不能保证最有效地利用共享内存OpenMP的目标
原创
发布博客 2020.06.29 ·
561 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

MPI编程(4)—集合通信MPI_Bcast、MPI_Gather、MPI_Scatter、MPI_Reduce

1. MPI_Bcast:广播消息MPI_Bcast用于将一个进程的buffer中的数据广播到其他进程的相同buffer变量中代码示例如下: int rank, data[10]; MPI_Init(0, 0); MPI_Comm_rank(MPI_COMM_WORLD, &rank); if (rank == 0) { for (int i = 0; i < 10; ++i) { data[i] = i + 1; } } //进程0广播数据
原创
发布博客 2020.06.22 ·
5995 阅读 ·
8 点赞 ·
0 评论 ·
44 收藏

MPI编程(3)—点对点通信(阻塞式MPI_Send/MPI_Recv和非阻塞式MPI_Isend/MPI_Irecv)

1.MPI的两种点对点通信方式MPI的点对点通信包括阻塞式和非阻塞式:阻塞式通信调用 MPI_Send/MPI_RecvMPI_Send不会返回,调用MPI_Send发送数据的进程会被阻塞,直到缓存为空MPI_Recv不会返回,调用 MPI_Recv接收数据的进程会被阻塞,直到缓存被填充非阻塞式通信调用 MPI_Isend/MPI_Irecv调用MPI_Isend或MPI_Irecv会马上返回2. MPI_Send/MPI_Recv代码示例MPI_SEND/MPI_RECV的代码示例
原创
发布博客 2020.06.20 ·
8734 阅读 ·
11 点赞 ·
1 评论 ·
41 收藏

MPI编程(2)—window下开发环境搭建

1. 安装包下载MPICH是MPI标准的一种实现,具有高性能和广泛地可移植性,它在10台最顶级(2016年6月的排名)的超级计算机的9台中使用。遗憾的是,MPICH在2013年就停止了对windows版本的更新,最新版本停留在了 mpich2-1.4.1,可以下载供学习用。微软官网提供了MS-MPI,MS-MPI基于mpich2实现,与mpich2兼容,而且一直在更新。MS-MPI中包含了mpich2实现的所有功能,http://www.mpich.org官网也指向该版本,下面就以该版本为例来搭建win
原创
发布博客 2020.06.20 ·
988 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从调用动态库带stl接口崩溃来区分/MDd和/MTd

本文的开发环境是Windows下的Visual Studio。1. 调用动态库带stl的接口引起的程序崩溃1.1 动态库实现接口动态库实现接口很简单,就是对传入的vector中增加元素void MyDll::AddVecElement(vector<int>& vecTest){ for (int i = 0; i < 100000; ++i) { vecTest.push_back(i); }}1.2 调用者代码调用者声明了个vector,并调用动态
原创
发布博客 2020.06.18 ·
597 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MPI编程(1)—基础概念

什么是MPIMessage Passing Interface的简称,信息传递接口定义了消息传递库的协议,本身是接口而不是程序库通常用于分布式存储系统或高性能计算目标可移植:可运行在不同的机器或平台上可扩展:可运行在成千上万的计算节点上灵活性:可接口隔离MPI库的开发者和使用者...
原创
发布博客 2020.06.17 ·
599 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

如何评估并行算法性能

1. 加速比(SpeedUp Factor)程序加速比:S(p)=TsTp程序加速比 :S(p)=\frac{_{Ts}}{{_{Tp}}}程序加速比:S(p)=Tp​Ts​​Ts:最优串行算法的执行时间_{Ts}:最优串行算法的执行时间Ts​:最优串行算法的执行时间Tp:p个处理器的执行时间_{Tp}:p个处理器的执行时间Tp​:p个处理器的执行时间线性加速比:S(p)=p,理论上最大的加速比:不是所有的计算可以并行;因为同步并行处理需要额外计算;不同处理器间需要通信超级线性加速比:S(p)>
原创
发布博客 2020.06.16 ·
906 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

初识并行计算

什么是并行计算通过多个处理器一起工作去解决某个问题。传统程序编写后是串行计算的,而并行计算则需要通过多个计算资源解决计算问题。并行计算与分布式计算的区别并行计算:同一时间发生多项不同活动,同一应用规模大而需分散到多个核心或处理器上,通常用于科学计算分布式计算:不同活动跨越多系统或服务器,更关注并发和资源共享,通常用于商业领域为什么需要并行计算1.节省计算时间;2.解决大规模问题,特别是单机无法解决的问题3.更好地利用底层并行硬件...
原创
发布博客 2020.06.15 ·
572 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

OpenCL编程(1)- 开发环境搭建(NVIDIA GPU+Win10篇)

基于NVIDIA GPU的OpenCL开发环境搭建的步骤如下:1.下载安装显卡驱动使用鲁大师或驱动精灵下载安装与显卡型号相适应的显卡驱动并安装,若采用默认路径安装,则在路径C:\Program Files\NVIDIA Corporation下可以看到安装好的驱动程序通过CPU-Z查看显卡是否支持OPENCL2. 下载CUDA并安装登录NVIDIA官网下载CUDA并安装,本人下载的是本地安装包,若采用默认安装路径,则安装完成后可在路径C:\Program Files\NVIDIA GPU Co
原创
发布博客 2020.06.13 ·
3328 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

初识redis

开源的内存数据结构存储,可用作数据库、缓存和消息代理支持多种数据结构,如字符串、哈希、列表、集合、可进行范围查询的排序集合、位图、超日志、带半径查询的地理空间索引以及数据流Redis具有内置的复制、Lua脚本、LRU逐出、事务和不同级别的磁盘持久性,并通过Redis Sentinel和带有Redis集群的自动分区提供高可用性可进行原子操作,如追加字符串;增加哈希值;追加元素到列表;计算集合的交集、并集和差集;或获取排序集合中排名最高的元素。Redis使用数据集驻留内存以保证优异性能,也可以通过每隔.
原创
发布博客 2020.06.09 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多