我正在編寫CUDA程序的主機代碼,因此我使用標準C函數卡住了。我在使用memset
函數初始化整數數組的元素時遇到問題。我的印象是,你可以使用memset
初始化一個整數數組,例如,像這樣所有4S:使用memset和int值初始化整數數組 - 失敗
int num_elements = 10;
int* array_example = (int*)malloc(num_elements * sizeof(int));
memset(array_example, 4, sizeof(array_example));
但是當我這樣做,它集每個字節,而不是每個int
,4。如果我說:
memset(array_example, 4, 1);
我在第一個整數得到一個4,如果我說:
memset(array_example, 4, 2);
我在第二個第一整數和0獲得1024。我知道memset
函數將第三個參數中指定的字節數設置爲4,但是有什麼方法可以使用memset將每個整數設置爲4而不是每個字節?否則,我堅持使用for循環?我的GPU具有較低的計算能力,因此我無法訪問允許使用更多C++的一些更好的CUDA附加組件。
謝謝你,那太糟糕了。 – Blake