- 博客(11)
- 资源 (10)
- 收藏
- 关注
原创 python 杀死占用端口号的进程
import osdef kill_process(*pids): for pid in pids: a = os.kill(pid, signal.SIGKILL) print('已杀死pid为%s的进程, 返回值是:%s' % (pid, a))def get_pid(*ports): #其中\"为转义" pids = [] for port in ports: pid = os.popen("netstat -nlp | grep :%s | awk '{p
2020-11-30 18:25:21 1589
原创 python 的偏函数 functools.partial
偏函数的定义:func = functools.partial(func, *args, **keywords)partial 一定接受三个参数,从之前的例子,我们也能大概知道这三个参数的作用,简单介绍下:func: 需要被扩展的函数,返回的函数其实是一个类 func 的函数*args: 需要被固定的位置参数**kwargs: 需要被固定的关键字参数# 如果在原来的函数 func 中关键字不存在,将会扩展,如果存在,则会覆盖例子:def add(*args, **kwargs):
2020-11-29 17:17:52 307
原创 tf.train.Example and tf.train.Feature
例子:#coding:utf-8import tensorflow as tfimport numpy as npimport IPython.display as displaydef _bytes_feature(value): """Returns a bytes_list from a string / byte.""" if isinstance(value, type(tf.constant(0))): value = value.numpy() # BytesLi
2020-11-29 14:45:45 392
原创 CUDA 并发流
默认流会阻塞非默认流的执行,非默认流之间不会相互阻塞。创建,使用和销毁非默认CUDA流以下代码段演示了如何创建,利用和销毁非默认CUDA流。注意到,要在非默认CUDA流中启动CUDA核函数,必须将流作为执行配置的第4个可选参数传递给该核函数。到目前为止,仅利用了执行配置的前两个参数:cudaStream_t stream; // CUDA流的类型为 `cudaStream_t`cudaStreamCreate(&stream); // 注意,必须将一个指针传递给 `cudaCreate.
2020-11-22 16:20:26 850
原创 2. nsights 可视化分析GPU核函数性能
例子:#include <stdio.h>void initWith(float num, float *a, int N){ for(int i = 0; i < N; ++i) { a[i] = num; }}__global__void addVectorsInto(float *result, float *a, float *b, int N){ int index = threadIdx.x + blockIdx.x * blockDi
2020-11-22 15:56:17 2061 1
原创 GPU cudaMallocManaged 统一内存的优劣点
cudaMallocManaged 分配旨在供主机或设备代码使用的内存,并且现在仍在享受这种方法的便利之处,即在实现自动内存迁移且简化编程的同时,而无需深入了解 cudaMallocManaged 所分配统一内存 (UM) 实际工作原理的详细信息。nsys profile 提供有关加速应用程序中 UM 管理的详细信息,并在利用这些信息的同时结合对 UM 工作原理的更深入理解,进而为优化加速应用程序创造更多机会。统一内存(UM)的迁移分配 UM 时,内存尚未驻留在主机或设备上。主机或设备尝试访问内存时会发
2020-11-22 14:56:51 9993 1
原创 以编程方式查询GPU设备属性
由于 GPU 上的 SM 数量会因所用的特定 GPU 而异,因此为支持可移植性,您不得将 SM 数量硬编码到代码库中。相反,应该以编程方式获取此信息。以下所示为在 CUDA C/C++ 中获取 C 结构的方法,该结构包含当前处于活动状态的 GPU 设备的多个属性,其中包括设备的 SM 数量:int deviceId;cudaGetDevice(&deviceId); // `deviceId` now points to the id of the curre
2020-11-22 14:41:21 381
原创 1.使用nsys分析GPU应用程序
例子矩阵加法vector-add.cu#include <stdio.h>void initWith(float num, float *a, int N){ for(int i = 0; i < N; ++i) { a[i] = num; }}__global__void addVectorsInto(float *result, float *a, float *b, int N){ int index = threadIdx.x + bl
2020-11-22 14:33:28 17209 1
原创 GPU 2D矩阵乘法
#include <stdio.h>#define N 64__global__ void matrixMulGPU( int * a, int * b, int * c ){ /* * Build out this kernel. */ int idx = threadIdx.x + blockDim.x * blockIdx.x; int idy = threadIdx.y + blockDim.y * blockIdx.y; //c[i
2020-11-22 14:03:59 244
原创 macos切换clang 的xcode版本
参考:stackoverflow切换到xcodesudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
2020-11-13 10:39:17 1410
原创 c++ 单例模式Instance
class Elem { Elem * Instance() { static Elem* instance = nullptr; static std::once_flag s_flag; std::call_once(s_flag, [&]() { instance = new Elem; } ); return instance; }}
2020-11-08 21:06:42 886
McGrawHill_-_Machine_Learning_-Tom_Mitchell课后答案
2016-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人