- 博客(10)
- 收藏
- 关注
转载 CUDA host,global,device
三种前缀分别用于在定义函数时限定该函数的调用和执行方式,例如:(1)__host__ int foo(int a){}与C或者C++中的foo(int a){}相同,是由CPU调用,由CPU执行的函数(2)__global__ int foo(int a){}表示一个内核函数,是一组由GPU执行的并行计算任务,以foo<<>>(a)的形式或者driver API的形式调用。目前__global__函数必须由CPU调用,并将并行计算任务发射到GPU的任务调用单元。随着GPU可编程.
2020-05-21 22:19:41
561
转载 CUDA--生成随机数curand函数
CUDA总共提供两种类型的随机数生成,一种是位于host(CPU)端的随机数,一种是位于device(GPU)端的随机数。(1) 对于host端的随机数生成,需要#include<curand.h>头文件,还需要curand依赖库。不过host端随机数不一定要在host端生成,也可以指定在device端生成。当指定在host端生成随机数时,程序调用CPU完成所有随机数,并将所有的结果保存在host端;而当指定在device端生成随机数时,程序的调用由CPU完成,程序的执行却是在device端.
2020-05-12 20:28:34
1340
原创 C语言--结构体
1 结构体声明struct 结构体名称{ 结构体成员1; 结构体成员2; 结构体成员3; ....};2 定义结构体类型变量strucrt 结构体名称 结构体变量名3 定义一本书的结构#include <stdio.h>struct Book{ char title[128]; char anthor[40]; float price; unsigned int date; char p.
2020-05-11 21:48:38
193
原创 C语言--动态内存管理
1 malloc--申请动态内存空间—void *malloc(size_t size)malloc函数向系统申请匹配size个字节的内存空间。并返回一个指向这块空间的指针如果函数调用成功,返回一个指针申请的内存空间的指针,由于返回类型是void指针(void *),所以他可以被转换成任何类型的数据;如果函数调用失败,返回值是NULL。另外,如果size的参数设置为0,返回值也可能是NULL,但是这不是调用失败。#include <stdio.h>#include &
2020-05-11 20:38:47
159
原创 C语言--作用域
在代码块中定义的变量,具有代码块作用域。作用范围是从变量定义的位置开始,到标志该代码块结束的右大括号}处尽管函数的形式参数不在大括号内定义,但其同样具有代码块作用域,隶属于包含函数体的代码块。#include <stdio.h>int main(void){ int i =100; { int i = 101; { int i = 123; printf("%d\n",i);
2020-05-11 16:38:34
159
原创 C语言--函数
1.函数的例子。#include <stdio.h>void print_c();void print_C(){ printf("######\n"); printf("####\n");}int main(){ print_c(); return 0;}2 函数的定义。类型名 函数名 (参数列表){ 函数体}3 函数的声明。告诉编译器要使用这个函数。4 示例(1)利用函数计算前.
2020-05-11 15:06:35
403
原创 C语言void指针和NULL指针
1 void指针:无指向指针。#include <stdio.h>int main(){ int num = 123; int *pi = # char *ps = "hahaha"; void *pv; pv = pi; printf("pi:%p, pv:%p\n", pi,pv); pv = ps; printf("ps:%p, pv:%p\n", ps,pv); return 0;
2020-05-11 11:16:32
233
原创 C语言指针数组和数组指针
1 指向数组的指针:用一个指针指向数组char *p;p = a;p = &a[0];2 指针的运算当指针指向数组元素的时候,我们可以对指针变量进行加减运算,这样做的意义相当于指向距离指针所在位置向前或向后第n个元素。#include <stdio.h>int main(){ char a[] = "hahalala" char *p = a; printf("*p = %c, *(p+1) = %c, *(p+2) = %
2020-05-10 18:00:27
151
原创 C语言指针变量和取值运算符和取地址运算符
1. C语言指针变量: 类型名 *指针变量名char *pa; //定义一个指向字符型的指针变量int *pb; //定义一个指向整型的指针变量2 . 取值运算符和取地址运算符(1) 如果需要获取某个变量的地址,可以使用取地址运算符&。char *pa = &a;int *pb= &b;(2) 如果需要访问指针变量指向的数据,可以使用取值运算符*printf("%c,%d\n",*pa,*pb)注意:避免访问为初始化的指针#...
2020-05-10 17:06:56
5048
原创 学习中遇到的MATLAB小知识
1.size函数的用法。size()函数用来获取矩阵的行数和列数。(1) s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是矩阵的行数,第二个元素是矩阵的列数。(2) [r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。(3) size(A,n)如果在size函数的输入参数...
2020-05-10 16:07:04
293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人