teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

実行結果を追記しました.

2021/01/12 02:38

投稿

yosse95ai
yosse95ai

スコア39

title CHANGED
File without changes
body CHANGED
@@ -234,6 +234,24 @@
234
234
 
235
235
  これにより, 前述のようなエラーは消えましたが, 計算結果が正しく表示されませんでした.
236
236
 
237
+ ```
238
+ >sample add.cl
239
+ (A <?> B = C)
240
+
241
+ 100.0000 <?> 2.20 = 100.00
242
+ 101.0000 <?> 2.20 = 101.00
243
+ 102.0000 <?> 2.20 = 102.00
244
+ 103.0000 <?> 2.20 = 103.00
245
+ 104.0000 <?> 2.20 = 104.00
246
+ 105.0000 <?> 2.20 = 105.00
247
+ 106.0000 <?> 2.20 = 106.00
248
+ 107.0000 <?> 2.20 = 107.00
249
+ 108.0000 <?> 2.20 = 108.00
250
+ 109.0000 <?> 2.20 = 109.00
251
+ ```
252
+ このように2.20を足し合わせていない結果が返っています.
253
+ このため, Bの値が0とされているような印象を受けます.
254
+
237
255
  ### 補足情報
238
256
 
239
257
  もしかしたら私のタイプミスでたまたまうまく動いたとかだと困るので, 該当箇所のみ写真を添付させていただきます.

2

不要なrefを消去(該当箇所にもともとないから)

2021/01/12 02:38

投稿

yosse95ai
yosse95ai

スコア39

title CHANGED
File without changes
body CHANGED
@@ -130,7 +130,7 @@
130
130
  /*********************************************************************************/
131
131
 
132
132
  handle = GCHandle.Alloc(B, GCHandleType.Pinned);
133
- status = clSetKernelArg(kernel, 1, (IntPtr)(Marshal.SizeOf(B)), ref handle.AddrOfPinnedObject());
133
+ status = clSetKernelArg(kernel, 1, (IntPtr)(Marshal.SizeOf(B)), handle.AddrOfPinnedObject());
134
134
  handle.Free();
135
135
  if (status != CL_SUCCESS)
136
136
  throw new Exception("clSetKernelArg B failed.");
@@ -138,7 +138,7 @@
138
138
  /*********************************************************************************/
139
139
  /**ここまで************************************************************************/
140
140
  /*********************************************************************************/
141
- status = clSetKernelArg(kernel, 2, (IntPtr)(Marshal.SizeOf(typeof(IntPtr))), ref memC);
141
+ status = clSetKernelArg(kernel, 2, (IntPtr)(Marshal.SizeOf(typeof(IntPtr))), ref memC);
142
142
  if (status != CL_SUCCESS)
143
143
  throw new Exception("clSetKernelArg C failed.");
144
144
 

1

「clSetKernelArgの」という文章を追加

2021/01/11 06:39

投稿

yosse95ai
yosse95ai

スコア39

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  そこで, 本書では`clSetKernelArg(4)`に`スカラ変数B`を用いる場面があります.
11
11
 
12
- C#側での実装は以下のようになっています.
12
+ `clSetKernelArg`のC#側での実装は以下のようになっています.
13
13
 
14
14
  ```C#
15
15
  //----------------------------------------------------------------------