cudaMemcpyToSymbol使用
生活随笔
收集整理的這篇文章主要介紹了
cudaMemcpyToSymbol使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
學到了cudaMemcpyToSymbol竟然還有將數據從host拷貝到global的功能,以前只用過這個函數拷貝到constant memory。拷貝方式的不同是由目的內存申請的方式決定的。
申請的是device內存,cudaMemcpyToSymbol拷貝就是從host拷貝到global memory。
申請的是constant內存,cudaMemcpyToSymbol拷貝就是從host拷貝到constant memory。
__device__ float g_damp_x[MAX_DIM];
__constant__ float c_damp_y[MAX_DIM];
?
main.cu
#include "error.cuh" #include <stdio.h> __device__ int d_x = 1; __device__ int d_y[2];void __global__ my_kernel(void) {d_y[0] += d_x;d_y[1] += d_x;printf("d_x = %d, d_y[0] = %d, d_y[1] = %d.\n", d_x, d_y[0], d_y[1]); }int main(void) {int h_y[2] = {10, 20};CHECK(cudaMemcpyToSymbol(d_y, h_y, sizeof(int) * 2));my_kernel<<<1, 1>>>();CHECK(cudaDeviceSynchronize());CHECK(cudaMemcpyFromSymbol(h_y, d_y, sizeof(int) * 2));printf("h_y[0] = %d, h_y[1] = %d.\n", h_y[0], h_y[1]);return 0; }?
#pragma once #include <stdio.h>#define CHECK(call) \ do \ { \const cudaError_t error_code = call; \if (error_code != cudaSuccess) \{ \printf("CUDA Error:\n"); \printf(" File: %s\n", __FILE__); \printf(" Line: %d\n", __LINE__); \printf(" Error code: %d\n", error_code); \printf(" Error text: %s\n", \cudaGetErrorString(error_code)); \exit(1); \} \ } while (0)參考:
https://blog.csdn.net/u014800094/article/details/53994933?utm_source=blogxgwz5?
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的cudaMemcpyToSymbol使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ClouderaManager agen
- 下一篇: Hbase Solr 二级索引,更新数据