回答編集履歴
2
蛇足です…
test
CHANGED
@@ -24,3 +24,19 @@
|
|
24
24
|
|
25
25
|
`.=`だと最初に確保したメモリをそのまま使い続けるので,z1,z2,z3が同じバッファを利用している場合,
|
26
26
|
それぞれの値の更新時に,z1,z2,z3の値が変化することになります。
|
27
|
+
|
28
|
+
## 蛇足
|
29
|
+
|
30
|
+
この後に書く事は余計なお世話なのですが,外部コンストラクタを使って
|
31
|
+
|
32
|
+
```julia
|
33
|
+
BufParams(r::Int, c::Int) = BufParams(
|
34
|
+
CUDA.zeros(r, c), CUDA.zeros(r, c), CUDA.zeros(r, c)
|
35
|
+
)
|
36
|
+
```
|
37
|
+
のように定義しておくと,
|
38
|
+
|
39
|
+
```julia
|
40
|
+
p_buf = BufParams(1000, 10)
|
41
|
+
```
|
42
|
+
のような形で利用できて便利かもしれません。
|
1
説明文の表現を修正しました
test
CHANGED
@@ -19,6 +19,8 @@
|
|
19
19
|
```
|
20
20
|
にすると改善するのではないでしょうか?
|
21
21
|
|
22
|
-
`=`なら,その度に新規でメモリが割り合てられるので
|
22
|
+
`=`なら,その度に新規でメモリが割り合てられるので最初z1,z2,z3が同じバッファでも
|
23
|
-
メモリ
|
23
|
+
代入時にそれぞれ別のメモリとなるので問題が露見しないことになります。
|
24
24
|
|
25
|
+
`.=`だと最初に確保したメモリをそのまま使い続けるので,z1,z2,z3が同じバッファを利用している場合,
|
26
|
+
それぞれの値の更新時に,z1,z2,z3の値が変化することになります。
|