TH_NUM的博客

日常积累

c++ std::move

std::move 通常,rvalues是无法通过解除引用来获取其地址的值,因为它们是文字或因为它们本质上是临时的(例如函数或显式构造函数调用返回的值)。 通过将对象传递给此函数,可以获得引用它的rvalue。 标准库的许多组件实现移动语义,允许直接转移对象的资产和属性的所有权,而无需在参数为...

2018-07-26 10:15:42

阅读数:23

评论数:0

c++ Lambda函数学习

Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio...

2018-07-26 09:51:17

阅读数:32

评论数:0

c++ define 定义工厂函数,使用##连接

c++ define 定义工厂函数,其中define函数名使用##连接 # include<stdio.h> # include <stdlib.h> //atoi # include &...

2018-07-25 17:27:32

阅读数:41

评论数:0

CUDA查询和选取设备信息

CUDA C中的cudaGetDeviceProperties函数可以很方便的获取到设备的信息。 #include "cuda_runtime.h" #include "device_launch_parameters.h&quo...

2018-07-25 15:51:16

阅读数:36

评论数:0

c++ 智能指针 shared_ptr

# include<stdio.h> # include <stdlib.h> //atoi # include <string.h&...

2018-07-25 14:14:09

阅读数:25

评论数:0

python 调用C++动态库所遇到的undefined symbol ***

因为算法效率问题所以要在python中调用C, 先写一个C函数: test.cpp # include<stdio.h> # include <stdlib.h> //atoi # inc...

2018-07-24 15:11:55

阅读数:103

评论数:0

Open MPI 环境搭建

Open MPI 环境搭建 (1)下载和解压 wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.1.tar.gz tar -zxvf openmpi-3.1.1.tar.gz (2)配置,编译和安装 ...

2018-07-24 10:01:17

阅读数:93

评论数:0

MPI函数MPI_Comm_split_type

int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm) INPUT PARAMETERS comm Communi...

2018-07-23 17:13:17

阅读数:43

评论数:0

MPI Group通信

1.Int MPI_Group_rank(MPI_Group group,int *rank) IN Group 进程组 OUT Rank 进程在进程组中的编号 如果进程不是进程组中的成员,则返回值RANK为MPI_UNDEFINED 2 . Int M...

2018-07-23 16:54:06

阅读数:31

评论数:0

c++ 使用tuple和unordered_map

#include<iostream> #include<unordered_map> #include<tuple> using namespace std; int...

2018-07-23 10:21:01

阅读数:37

评论数:0

nccl 函数 ncclReduce和ncclAllReduce

下面代码中实现了ncclReduce和ncclAllReduce的例子,以ncclReduce举例(其中把隐藏的ncclAllReduce去掉就可以实现ncclAllREduce): //测试NCCL的reduce #include<stdio.h> ...

2018-07-20 16:10:28

阅读数:123

评论数:0

MPI 函数长度不同的数据分发和聚集 MPI_Scatterv、MPI_Allgatherv

MPI_Scatterv:分发数据 MPI_Allgatherv 不同长度的数据块收集,等价于依次以Comm中的每个进程为根进程调用MPI_Gatherv 或是以任一进程为跟进调用一次普通收集,紧接着再对收集到的数据进行一次广播。 #include <stdio.h&a...

2018-07-20 13:51:11

阅读数:43

评论数:0

pandas常用用法

1.将DataFrame里面的数值提取成list userList=list() userList= userList + df1['userID'].values.tolist() 2 . 构造含有index的dataFrame actData = pd.DataFrame(index...

2018-07-19 17:15:34

阅读数:28

评论数:0

nvidia-nccl 学习

1.ncclResult_t ncclGetUniqueId(ncclUniqueId* uniqueId) 创建一个被初始化函数(ncclCommInitRank)使用的Id。该函数只能被调用一次(在整个分布式计算中只能被一个地方调用),调用后产生的Id需要分发给分布式任务中其他所有的任务,然...

2018-07-18 15:12:47

阅读数:54

评论数:0

cuda 在GPU和CPU之间复制数组

int nDev=2; float** sendbuff = (float**)malloc(nDev * sizeof(float*)); float** recvbuff = (float**)malloc(nDev * sizeof(float*)); cudaStream_t*...

2018-07-18 14:58:28

阅读数:120

评论数:0

使用nccl 编译运行程序,nccl 的lib出错 undefined reference to `ncclCommInitAll'

undefined reference to ncclCommInitAll' undefined reference toncclGetErrorString’ undefined reference to `ncclGroupStart’ 需要加载nccl的动态库: 编译方法: ...

2018-07-17 22:32:22

阅读数:92

评论数:0

error: cuda_runtime.h: No such file or directory 和undefined reference to `cudaSetDevice'

使用cuda的gcc编译错误: error: cuda_runtime.h: No such file or directory 和undefined reference to `cudaSetDevice’。 解决办法,加载cuda 的lib。 gcc singleProcess.cpp ...

2018-07-17 22:29:10

阅读数:310

评论数:0

c++使用mutex为函数上锁

#ifndef HOROVOD_COMMON_H #define HOROVOD_COMMON_H #include<string.h> #include <string> #include&...

2018-07-16 13:17:33

阅读数:67

评论数:0

Fire() 实现运行单个函数

import fire def main(**kwargs): print("begin input...") for k,v in kwargs.items(): print(k,v) print("hel...

2018-07-13 09:39:36

阅读数:33

评论数:0

Pandas Rank进行排序

排序和排名 根据条件对Series对象或DataFrame对象的值排序(sorting)和排名(ranking)是一种重要的内置运算。 first: 对于相同的值按照出现的顺序排名 min: 对于相同的值都取小的排名 max:对于相同的值都取大的排名 import pandas a...

2018-07-11 11:42:35

阅读数:255

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭