c
Alfafar
成独游人了
展开
-
使用一个一维数组进行矩阵转置以及其并行化
直接上代码,思路全在纸上,写两下找规律就能写了#include<time.h>#include "cuda_runtime.h"#include "device_launch_parameters.h"#include<stdlib.h>#include <stdio.h>#define maxsize 2000#define INDEX(i, j, ldy) ((i)* (ldy)+(j))__global__ void Turn(int* data原创 2021-04-01 00:51:00 · 589 阅读 · 0 评论 -
CUDA使用结构体传输时出现写入位置的访问冲突
这是我的之前写的关于在CUDA中传输结构体的代码:CUDA结构体传输#include "cuda_runtime.h"#include "device_launch_parameters.h"#include <stdio.h>#include<stdlib.h>#define maxnumber 500typedef struct node { int piont[maxnumber][maxnumber];} Node;__global__ void原创 2021-03-22 19:50:09 · 818 阅读 · 0 评论 -
CUDA数据结构体在GPU和CPU之间的传输
参照《cuda c编程权威指南》上写出的,在CPU和GPU互相传输结构体。#include "cuda_runtime.h"#include "device_launch_parameters.h"#include <stdio.h>#include<stdlib.h>#define maxnumber 100typedef struct node { int x[maxnumber]; int y[maxnumber]; int test[maxnumbe原创 2021-03-21 15:00:37 · 2037 阅读 · 0 评论 -
抽奖骗局代码实现
在mooc看概率统计教学视频的时候看到了一个课后思考题:抽奖骗局,总觉得这个能行,于是把它用代码实现了出来。一开始我准备使用cuda在设备端上并行模拟抽奖来快速实现这个题目,但可惜设备端上不能使用随机函数,于是我只能放弃,后面如果我能实现并行的话会在后面更新的。...原创 2021-03-08 17:12:26 · 236 阅读 · 0 评论 -
格雷码和二进制码的互相转换
今天数字逻辑的老师竟然要求我们下来用代码实现格雷码和二进制码的互相转换,还要发到他的邮箱里= =,真是有够闲的代码如下:#include<stdio.h>#define maxsize 1000char my_xor (char a, char b) //异或运算{ if ((a != '1' && a != '0') || (b != '1' && b != '0')) { printf("二进制码错误!\n"); exit(0); }原创 2021-03-04 19:30:49 · 1169 阅读 · 1 评论 -
CUDA并行规约求和
并行规约求和#include <cuda_runtime.h>#include "device_launch_parameters.h"#include <stdio.h>#define size 1024/*0 1 2 3 4 5 6 7 8 9 01 1 5 3 9 5 13 7 17 9 16 1 5 3 22 5 13 7 17 9 228 1 5 3 22 5 13 7 17 9 345 1 5 3 22 5 13 7 17 9 4*/原创 2021-03-03 21:16:06 · 898 阅读 · 0 评论 -
OpenMP的#pragma omp parallel for指令理解
下面是一个应用#pragma omp parallel for的一串代码#include<stdio.h>#include<omp.h>int main(){#pragma omp parallel for for (int i = 0; i < 20; i++) { printf("this is No.%d Thread ,i=%d\n", omp_get_thread_num(), i); } return 0;}通过这原创 2020-11-29 16:54:00 · 8163 阅读 · 2 评论 -
2020-10-31
cuda 矩阵相乘#include <stdio.h>#include <cuda_runtime.h>#include <device_launch_parameters.h>#include <stdlib.h>#include <time.h>#define THREAD_NUM 256#define MATRIX_SIZE 1000const int blocks_num = MATRIX_SIZE * (MATRIX_原创 2020-10-31 16:41:59 · 182 阅读 · 0 评论 -
数据结构大作业
地铁搭乘方案选择分析思路首先我们从网上找到成都的地铁路线图将其中西南石油大学到世纪城的子图拿出来,进行筛选和删除,去掉一些正在修建的地铁线,精选得到了一份新的无向子图假设不要求地铁乘坐的费用,不计算乘换地铁线和等待地铁的时间,我们可以用迪杰斯特拉算法的思想进行选择路线。我们首先将地铁线上的站点进行编号,以西南石油大学为1号,依次编号;接着从西南石油大学出发,每到一次站点就进行遍历比较,看接下来走哪个站点的路径比较短,走完整个地铁路线图并记录站点的编号,我们就得到了一个二叉树,从这个二叉树中找到原创 2020-10-31 16:03:13 · 1632 阅读 · 0 评论