- 博客(24)
- 收藏
- 关注
原创 CUDA大数吃小数问题:Kahan’s Summation Formula
转自https://www.cnblogs.com/blfbuaa/p/7207406.html。kernel求和部分。
2024-05-07 15:15:39
177
原创 C++数组创建及初始化
new/delete 会调用构造函数/析构函数进行对象初始化与销毁。1.申请Heap Memory(malloc/free)2.申请Stack Memory(new/delete)1.申请Heap Memory(malloc/free)2.申请Stack Memory(new/delete)
2024-04-22 15:07:44
181
1
原创 CUDA性能分析--metrics指标抓取命令总结
目前,cuda主流驱动支持的性能分析命令已经由 nvprof 转换到 nsys,如果在ncu --metrics中输入nvprof的指标抓取命令(eg.可以将这些测量出的吞吐量与理论峰值进行比较,以判断内核是否接近理想性能。下面列出一些主要分析指标的抓取命令。
2024-04-21 10:42:14
215
1
原创 CUDA nvcc报错:identifier “addKernel“ is undefined核函数无法识别
cu文件中,核函数要写在cpu端调用函数前面!
2024-04-12 13:37:20
351
原创 Windows系统CUDA_nvprof/ncu/nsys性能分析学习笔记
因为没有识别到VS的路径导致报错,将C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64添加到高级系统设置---环境变量中,然后重启电脑即可。\TestDemo\cudatest\x64\Release文件夹下)。查询原因是nsys的版本过旧,和cuda11.6不匹配,下载安装nsys2024.1.1,并添加环境变量+重启之后,运行代码,即可通过。
2024-03-18 10:15:32
466
1
原创 C++中static修饰符的使用(简洁版)
1.static修饰函数中局部变量:改变了局部变量的存储位置,不存储在栈上,存储于进程中的全局数据区,因此,该变量不随函数结束而结束。该变量仅在第一次调用该函数时进行初始化,后续调用时使用前一次存储的数据。2.static修饰全局变量 / static修饰函数:改变该变量的链接属性,只能在当前类使用。
2024-01-06 15:16:41
395
1
原创 CUDA C 循环展开功能 #pragma-unroll
pragma unroll功能可用于控制任意给定循环的展开。字段放在循环之前,仅适用于该循环。#pragma unroll 1 //不展开。#pragma unroll //完全展开。循环展开适用于loop内部代码较少的循环。
2024-01-02 20:30:45
670
1
原创 二级制文件数据读取
Time2>Time1 可能由于assign函数效率低于Read,且内存映射在跳着读数据的时候更有优势。vAllDisp.size() = 35843400byte,耗时=0。vectorSize与1相同,耗时0.9s。
2023-12-28 15:40:56
354
1
原创 CUDA学习笔记(CH4)-Global Memory
Device 内存堆具有固定大小,如果没有指定堆大小使用malloc() or __nv_aligned_device_malloc(), 则会分配默认8M的堆内存。1.动态全局内存分配与操作(CUDA C Programming Guide v12.3_10.34)malloc()-free() 和 cudamalloc()-cudafree()要配套使用。个字节,并返回一个指向已分配内存的指针,如果没有足够的内存来满足请求,则返回 NULL。函数从设备堆中分配至少。2.与主机内存间的互操性。
2023-12-14 21:04:25
29
1
原创 Fortran error
1.error#6552: The CALL statement is invoking a function subprogram as a subroutine.Fortran调用外部接口,接口返回值错误。Subroutine直接 CALL Function(a,b,c,d)C接口存在返回值,要写出来。
2023-12-01 10:28:42
160
1
原创 ABAQUS 子程序支持MKL库函数
2.我这里用到了【call dgetrf(……call dgetri(……)】进行矩阵运算,所以子程序代码中要添加 【USE LAPACK95】1.修改abaqus环境文件权限,compile_fortran中添加【'/Qmkl:sequential',】
2023-11-03 11:19:08
209
1
原创 ABAQUS关联VS2013 & Fortran2015
①当时报错Error:Cannot determine the location of the VS Common Tools folder.于是添加了这个环境变量,即可通过:C:\Windows\System32。6.关联成功后可运行Abaqus Verification测试关联效果,全部pass即为关联成功~Congratulations!VS2013对应的Visual Studio 12.0。
2023-11-03 09:45:35
951
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人