@@ -376,20 +376,44 @@ class NumArray
376
376
* données par \a indexes par la valeur \a v .
377
377
*
378
378
* La mémoire associée à l'instance doit être accessible depuis la file \a queue.
379
+ * \a queue peut être nulle, auquel cas le remplissage se fait sur l'hôte.
379
380
*/
380
381
void fill (const DataType& v, SmallSpan<const Int32> indexes, const RunQueue* queue)
381
382
{
382
383
m_data.fill (v, indexes, queue);
383
384
}
384
385
385
386
/* !
386
- * \brief Remplit les éléments de l'instance la valeur \a v.
387
+ * \brief Remplit via la file \a queue, les valeurs du tableau d'indices
388
+ * données par \a indexes par la valeur \a v .
389
+ *
390
+ * La mémoire associée à l'instance doit être accessible depuis la file \a queue.
391
+ */
392
+ void fill (const DataType& v, SmallSpan<const Int32> indexes, const RunQueue& queue)
393
+ {
394
+ m_data.fill (v, indexes, &queue);
395
+ }
396
+
397
+ /* !
398
+ * \brief Remplit les éléments de l'instance la valeur \a v en utilisant la file \a queue.
399
+ *
400
+ * \a queue peut être nulle, auquel cas le remplissage se fait sur l'hôte.
387
401
*/
388
402
void fill (const DataType& v, const RunQueue* queue)
389
403
{
390
404
m_data.fill (v, queue);
391
405
}
392
406
407
+ /* !
408
+ * \brief Remplit les éléments de l'instance la valeur \a v en utilisant la file \a queue.
409
+ *
410
+ * \a queue peut être nulle, auquel cas le remplissage se fait sur l'hôte.
411
+ */
412
+ void fill (const DataType& v, const RunQueue& queue)
413
+ {
414
+ m_data.fill (v, &queue);
415
+ }
416
+
393
417
/* !
394
418
* \brief Remplit les valeurs du tableau par \a v.
395
419
*
@@ -421,29 +445,55 @@ class NumArray
421
445
void copy (const ThatClass& rhs) { copy (rhs, nullptr ); }
422
446
423
447
/* !
424
- * \brief Copie dans l'instance les valeurs de \a rhs via la file \a queue
448
+ * \brief Copie dans l'instance les valeurs de \a rhs via la file \a queue.
425
449
*
426
450
* Cette opération est valide quelle que soit la mêmoire associée
427
451
* associée à l'instance.
428
452
* \a queue peut être nul. Si la file est asynchrone, il faudra la
429
453
* synchroniser avant de pouvoir utiliser l'instance.
430
454
*/
431
- void copy (ConstMDSpanType rhs, RunQueue* queue)
455
+ void copy (ConstMDSpanType rhs, const RunQueue* queue)
432
456
{
433
457
_resizeAndCopy (rhs, eMemoryRessource::Unknown, queue);
434
458
}
435
459
436
460
/* !
437
- * \brief Copie dans l'instance les valeurs de \a rhs via la file \a queue
461
+ * \brief Copie dans l'instance les valeurs de \a rhs via la file \a queue.
462
+ *
463
+ * Cette opération est valide quelle que soit la mêmoire associée
464
+ * associée à l'instance.
465
+ * \a queue peut être nulle, auquel cas la copie se fait sur l'hôte.
466
+ * Si la file est asynchrone, il faudra la synchroniser avant de pouvoir utiliser l'instance.
467
+ */
468
+ void copy (ConstMDSpanType rhs, const RunQueue& queue)
469
+ {
470
+ _resizeAndCopy (rhs, eMemoryRessource::Unknown, &queue);
471
+ }
472
+
473
+ /* !
474
+ * \brief Copie dans l'instance les valeurs de \a rhs via la file \a queue.
475
+ *
476
+ * Cette opération est valide quelle que soit la mêmoire associée
477
+ * associée à l'instance.
478
+ * \a queue peut être nulle, auquel cas la copie se fait sur l'hôte.
479
+ * Si la file est asynchrone, il faudra la synchroniser avant de pouvoir utiliser l'instance.
480
+ */
481
+ void copy (const ThatClass& rhs, const RunQueue* queue)
482
+ {
483
+ _resizeAndCopy (rhs.constMDSpan (), rhs.memoryRessource (), queue);
484
+ }
485
+
486
+ /* !
487
+ * \brief Copie dans l'instance les valeurs de \a rhs via la file \a queue.
438
488
*
439
489
* Cette opération est valide quelle que soit la mêmoire associée
440
490
* associée à l'instance.
441
491
* \a queue peut être nul. Si la file est asynchrone, il faudra la
442
492
* synchroniser avant de pouvoir utiliser l'instance.
443
493
*/
444
- void copy (const ThatClass& rhs, RunQueue* queue)
494
+ void copy (const ThatClass& rhs, const RunQueue& queue)
445
495
{
446
- _resizeAndCopy (rhs.constMDSpan (), rhs.memoryRessource (), queue);
496
+ _resizeAndCopy (rhs.constMDSpan (), rhs.memoryRessource (), & queue);
447
497
}
448
498
449
499
public:
@@ -601,7 +651,7 @@ class NumArray
601
651
m_span.m_ptr = m_data.to1DSpan ().data ();
602
652
}
603
653
604
- void _resizeAndCopy (ConstMDSpanType rhs, eMemoryRessource input_ressource, RunQueue* queue)
654
+ void _resizeAndCopy (ConstMDSpanType rhs, eMemoryRessource input_ressource, const RunQueue* queue)
605
655
{
606
656
this ->resize (rhs.extents ().dynamicExtents ());
607
657
m_data.copyOnly (rhs.to1DSpan (), input_ressource, queue);
0 commit comments