当前位置: 首页 > news >正文

校园网站建设宣传网站建设工程师的职位要求

校园网站建设宣传,网站建设工程师的职位要求,微网站建设多少钱,电子商务网站建设与设计论文使用CUDA Runtime API中的cudaMemGetInfo()函数来检查设备上的可用内存。该函数将返回当前可用于分配的总设备内存大小和当前可用于分配的最大单个内存块大小。 示例代码#xff0c;演示了如何在分配内存之前和之后调用cudaMemGetInfo()函数来检查可用内存 size_t free_byte…使用CUDA Runtime API中的cudaMemGetInfo()函数来检查设备上的可用内存。该函数将返回当前可用于分配的总设备内存大小和当前可用于分配的最大单个内存块大小。 示例代码演示了如何在分配内存之前和之后调用cudaMemGetInfo()函数来检查可用内存 size_t free_byte, total_byte; cudaMemGetInfo(free_byte, total_byte); // 输出设备上的总内存大小和可用内存大小 printf(Device memory: total %ld, free %ld\n, total_byte, free_byte);// 在此处分配内存// 分配内存后再次调用cudaMemGetInfo()来检查可用内存 cudaMemGetInfo(free_byte, total_byte); printf(Device memory after allocation: total %ld, free %ld\n, total_byte, free_byte); 首先调用了cudaMemGetInfo()来获取设备上的总内存和可用内存大小。 然后在注释处分配内存再次调用cudaMemGetInfo()来检查分配内存后的可用内存大小。这可以帮助我们确保我们的内存分配不会超过设备的可用内存。 请注意cudaMemGetInfo()函数返回的内存大小以字节为单位因此可能需要将其转换为更具有可读性的单位例如KBMB或GB来更好地了解设备上的内存使用情况。 size_t free_byte, total_byte;cudaMemGetInfo(free_byte, total_byte);// 输出设备上的总内存大小和可用内存大小printf(Device memory: total %ld, free %ld\n, total_byte, free_byte);//分配内存float* Ez, * Hy, * Hx;cudaMalloc((void**)Ez, size1); cudaMemset(Ez, 0, size1);cudaMalloc((void**)Hy, size1); cudaMemset(Hy, 0, size1);cudaMalloc((void**)Hx, size1); cudaMemset(Hx, 0, size1);float* Ex, * Ey, * Hz;cudaMalloc((void**)Ex, size1); cudaMemset(Ex, 0, size1);cudaMalloc((void**)Ey, size1); cudaMemset(Ey, 0, size1);cudaMalloc((void**)Hz, size1); cudaMemset(Hz, 0, size1);cudaMemGetInfo(free_byte, total_byte);printf(Device memory after allocation: total %ld, free %ld\n, total_byte, free_byte);一开始是错误的我的设备总内存大小为2GB2147155968字节在分配内存后剩余可用内存大小为1GB1094713344字节。还遇到了“too many resources requested for launch”错误这通常意味着线程块或线程数太多超出了设备的能力范围 把block设置由【32,321】改成了【16,16,1】就对了不太明白为啥会这样因为我核函数的内容没有改变只加了一些参数并且这些参数没有被使用 建议 检查CUDA Runtime API的返回值以查看是否有其他错误或警告消息。可以在内核启动后立即调用cudaGetLastError()来检查最后一次CUDA Runtime API调用是否有任何错误并使用cudaGetErrorString()函数将错误码转换为可读的字符串以进行调试 我的输出结果 如果不清楚的可以利用以下的cudaDeviceGetAttribute()函数查询如果在使用该函数时出现未定义标识符的错误则可能是由于未包含必要的CUDA头文件或未链接正确的CUDA库。 确保程序中包含了必要的CUDA头文件例如cuda_runtime.h和device_launch_parameters.h。 #include cuda_runtime.h #include device_launch_parameters.h使用cudaDeviceGetAttribute()函数时还需要链接CUDA运行时库和CUDA驱动程序库CUDA库的目录位置可能因为操作系统和CUDA版本而异。以下是几个常见的位置 Linux系统默认安装/usr/local/cuda/lib64 Linux系统使用.run安装/usr/local/cuda-/lib64 Windows系统默认安装C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\version\lib\x64 Windows系统使用.exe安装C:\Program Files\NVIDIA Corporation\CUDA\version\lib\x64 在上述目录中表示安装的CUDA版本。例如在Linux上如果使用的是CUDA 11.0则CUDA库目录应为/usr/local/cuda-11.0/lib64。 请注意如果在系统上安装了多个CUDA版本则需要相应地更改库目录路径以确保使用正确的CUDA版本。 如果无法在上述目录中找到CUDA库请尝试搜索系统以查找CUDA库。在Linux上可以运行以下命令 sudo find / -name “libcuda.so” 2/dev/null 在Windows上可以使用文件资源管理器搜索功能来查找CUDA库。 一旦找到了CUDA库的位置可以使用 -L选项将其添加到链接器命令中。 例如在Linux上如果CUDA库目录为/usr/local/cuda/lib64则可以使用以下命令来编译包含cudaDeviceGetAttribute()函数的CUDA程序 nvcc your_program.cu -o your_program -lcudart -L/usr/local/cuda/lib64在Windows上需要将CUDA库的路径添加到系统环境变量PATH中以便编译器能够找到CUDA库。 我要分析的.cu文件 F:\E_cuda\3D_PML_share\3D_SHARE\3D_PML_share2\kernel.cu 我的cuda库文件 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64 在命令行中输入以下 nvcc F:\E_cuda\3D_PML_share\3D_SHARE\3D_PML_share2\kernel.cu -o F:\E_cuda\3D_PML_share\3D_SHARE\3D_PML_share2 -lcudart -LC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64输出结果 输出 kernel.cu F:/E_cuda/3D_PML_share/3D_SHARE/3D_PML_share2/kernel.cu(165): warning: variable st was declared but never referencedF:/E_cuda/3D_PML_share/3D_SHARE/3D_PML_share2/kernel.cu(219): warning: variable ma was declared but never referenceddevice_functions.h is an internal header file and must not be used directly. This file will be removed in a future CUDA release. Please use cuda_runtime_api.h or cuda_runtime.h instead.int max_threads_per_block;cudaDeviceGetAttribute(max_threads_per_block, cudaDevAttrMaxThreadsPerBlock, 0);printf(Maximum threads per block: %d\n, max_threads_per_block);int max_threads_per_multiprocessor;cudaDeviceGetAttribute(max_threads_per_multiprocessor, cudaDevAttrMaxThreadsPerMultiProcessor, 0);printf(Maximum threads per multiprocessor: %d\n, max_threads_per_multiprocessor);int max_blocks_per_multiprocessor;cudaDeviceGetAttribute(max_blocks_per_multiprocessor, cudaDevAttrMaxBlocksPerMultiProcessor, 0);printf(Maximum blocks per multiprocessor: %d\n, max_blocks_per_multiprocessor);int max_threads;cudaDeviceGetAttribute(max_threads, cudaDevAttrMaxThreadsPerBlockDim, 0);printf(Maximum threads: %d\n, max_threads);
http://www.hkea.cn/news/14526881/

相关文章:

  • 横沥建设网站广告设计公司属于什么行业
  • 网站建设说课ppt网站建设实训的目的
  • 做国外有那些网站网站建设 中企动力福州阀门
  • 怎么做视频平台网站删除自豪地采用wordpress
  • 西安网站建设培训学校微信网站有什么作用
  • 丹东谁做微网站二手网站怎么做
  • 如何把jQuery特效做网站背景一站式服务大厅
  • 牛天下网站建设北京 网站建设 招标信息
  • 搜狗网站优化软件手机网站内容管理
  • 建立中文网站的英文wordpress婚礼主题公园
  • 网站建设需要了解的智慧门店管理服务平台
  • 渭南网站建设公司定制网站建设公司手机网站大全1
  • 同仁微网站建设工作室工业设计在线官网
  • 建设部机关服务中心网站哪个网站可以做视频
  • 丰台深圳网站建设公司如何辨别官方网站
  • 网站常规seo优化步骤建设网站cms
  • 如何做电影网站赚钱wordpress搜索结果页样式
  • 大学专业网站wordpress 手机维修
  • 运营什么网站好拍摄网
  • 宝塔面板怎么建设网站网站建站费用多少钱
  • 建设网站需要的编程800元五合一建站
  • 泰州市建设工程质量监督站网站wordpress修改域名文件
  • 北京南站到北京西站地铁怎么走wordpress cu主题
  • 手机网站建站平台k8s wordpress
  • 做网站用什么浏览器最好seo排名教程技术
  • 一流的免费网站建设wordpress使用cdn图片不显示
  • 佛山o2o网站建设天元建设集团有限公司联系电话
  • 国外平面设计师网站林业厅网站建设方案
  • 江苏企业网站排名优化蓝牙 技术支持 东莞网站建设
  • 简单的英文网站源码网站的设计流程是怎么样的?