@@ -329,10 +329,13 @@ dart_ret_t dart_compare_and_swap(
329
329
* is guaranteed. A later flush operation is needed to guarantee
330
330
* local and remote completion.
331
331
*
332
- * \param dest The local destination buffer to store the data to.
333
- * \param gptr A global pointer determining the source of the get operation.
334
- * \param nelem The number of elements of type \c dtype to transfer.
335
- * \param dtype The data type of the values in buffer \c dest.
332
+ * \param dest The local destination buffer to store the data to.
333
+ * \param gptr A global pointer determining the source of the get operation.
334
+ * \param nelem The number of elements of type \c dtype to transfer.
335
+ * \param src_type The data type of the values at the source.
336
+ * \param dst_type The data type of the values in buffer \c dest.
337
+ *
338
+ * \note Base-type conversion is not performed.
336
339
*
337
340
* \return \c DART_OK on success, any other of \ref dart_ret_t otherwise.
338
341
*
@@ -343,7 +346,8 @@ dart_ret_t dart_get(
343
346
void * dest ,
344
347
dart_gptr_t gptr ,
345
348
size_t nelem ,
346
- dart_datatype_t dtype ) DART_NOTHROW ;
349
+ dart_datatype_t src_type ,
350
+ dart_datatype_t dst_type ) DART_NOTHROW ;
347
351
348
352
/**
349
353
* 'REGULAR' variant of dart_put.
@@ -352,10 +356,13 @@ dart_ret_t dart_get(
352
356
* is guaranteed. A later flush operation is needed to guarantee
353
357
* local and remote completion.
354
358
*
355
- * \param gptr A global pointer determining the target of the put operation.
356
- * \param src The local source buffer to load the data from.
357
- * \param nelem The number of elements of type \c dtype to transfer.
358
- * \param dtype The data type of the values in buffer \c src.
359
+ * \param gptr A global pointer determining the target of the put operation.
360
+ * \param src The local source buffer to load the data from.
361
+ * \param nelem The number of elements of type \c dtype to transfer.
362
+ * \param src_type The data type of the values in buffer \c src.
363
+ * \param dst_type The data type of the values at the target.
364
+ *
365
+ * \note Base-type conversion is not performed.
359
366
*
360
367
* \return \c DART_OK on success, any other of \ref dart_ret_t otherwise.
361
368
*
@@ -366,7 +373,8 @@ dart_ret_t dart_put(
366
373
dart_gptr_t gptr ,
367
374
const void * src ,
368
375
size_t nelem ,
369
- dart_datatype_t dtype ) DART_NOTHROW ;
376
+ dart_datatype_t src_type ,
377
+ dart_datatype_t dst_type ) DART_NOTHROW ;
370
378
371
379
372
380
/**
@@ -453,49 +461,6 @@ dart_ret_t dart_flush_local_all(
453
461
*/
454
462
typedef struct dart_handle_struct * dart_handle_t ;
455
463
456
- typedef enum {
457
- STRIDED_TO_STRIDED = 0 ,
458
- STRIDED_TO_CONTIG ,
459
- CONTIG_TO_STRIDED
460
- } dart_stride_option ;
461
-
462
- dart_ret_t dart_get_strided_handle (
463
- void * dest ,
464
- dart_gptr_t gptr ,
465
- size_t nblocks ,
466
- size_t nelems_block ,
467
- size_t stride ,
468
- dart_datatype_t dtype ,
469
- dart_stride_option stride_opt ,
470
- dart_handle_t * handle );
471
-
472
- dart_ret_t dart_get_indexed_handle (
473
- void * dest ,
474
- dart_gptr_t gptr ,
475
- size_t nblocks ,
476
- size_t nelems_block ,
477
- int * indexes ,
478
- dart_datatype_t dtype ,
479
- dart_stride_option stride_opt ,
480
- dart_handle_t * handle );
481
-
482
- /**
483
- * 'HANDLE' variant of dart_get.
484
- * Neither local nor remote completion is guaranteed. A later
485
- * dart_wait*() call or a fence/flush operation is needed to guarantee
486
- * completion.
487
- *
488
- * \param dest Local target memory to store the data.
489
- * \param gptr Global pointer being the source of the data transfer.
490
- * \param nelem The number of elements of \c dtype in buffer \c dest.
491
- * \param dtype The data type of the values in buffer \c dest.
492
- * \param[out] handle Pointer to DART handle to instantiate for later use with \c dart_wait, \c dart_wait_all etc.
493
- *
494
- * \return \c DART_OK on success, any other of \ref dart_ret_t otherwise.
495
- *
496
- * \threadsafe
497
- * \ingroup DartCommunication
498
- */
499
464
#define DART_HANDLE_NULL (dart_handle_t)NULL
500
465
501
466
/**
@@ -504,12 +469,15 @@ dart_ret_t dart_get_indexed_handle(
504
469
* dart_wait*() call or a fence/flush operation is needed to guarantee
505
470
* completion.
506
471
*
507
- * \param dest Local target memory to store the data.
508
- * \param gptr Global pointer being the source of the data transfer.
509
- * \param nelem The number of elements of \c dtype in buffer \c dest.
510
- * \param dtype The data type of the values in buffer \c dest.
472
+ * \param dest Local target memory to store the data.
473
+ * \param gptr Global pointer being the source of the data transfer.
474
+ * \param nelem The number of elements of \c dtype in buffer \c dest.
475
+ * \param src_type The data type of the values at the source.
476
+ * \param dst_type The data type of the values in buffer \c dest.
511
477
* \param[out] handle Pointer to DART handle to instantiate for later use with \c dart_wait, \c dart_wait_all etc.
512
478
*
479
+ * \note Base-type conversion is not performed.
480
+ *
513
481
* \return \c DART_OK on success, any other of \ref dart_ret_t otherwise.
514
482
*
515
483
* \threadsafe
@@ -519,7 +487,8 @@ dart_ret_t dart_get_handle(
519
487
void * dest ,
520
488
dart_gptr_t gptr ,
521
489
size_t nelem ,
522
- dart_datatype_t dtype ,
490
+ dart_datatype_t src_type ,
491
+ dart_datatype_t dst_type ,
523
492
dart_handle_t * handle ) DART_NOTHROW ;
524
493
525
494
/**
@@ -528,12 +497,15 @@ dart_ret_t dart_get_handle(
528
497
* dart_wait*() call or a fence/flush operation is needed to guarantee
529
498
* completion.
530
499
*
531
- * \param gptr Global pointer being the target of the data transfer.
532
- * \param src Local source memory to transfer data from.
533
- * \param nelem The number of elements of type \c dtype to transfer.
534
- * \param dtype The data type of the values in buffer \c dest.
500
+ * \param gptr Global pointer being the target of the data transfer.
501
+ * \param src Local source memory to transfer data from.
502
+ * \param nelem The number of elements of type \c dtype to transfer.
503
+ * \param src_type The data type of the values in buffer \c src.
504
+ * \param dst_type The data type of the values at the target.
535
505
* \param[out] handle Pointer to DART handle to instantiate for later use with \c dart_wait, \c dart_wait_all etc.
536
506
*
507
+ * \note Base-type conversion is not performed.
508
+ *
537
509
* \return \c DART_OK on success, any other of \ref dart_ret_t otherwise.
538
510
*
539
511
* \threadsafe
@@ -543,7 +515,8 @@ dart_ret_t dart_put_handle(
543
515
dart_gptr_t gptr ,
544
516
const void * src ,
545
517
size_t nelem ,
546
- dart_datatype_t dtype ,
518
+ dart_datatype_t src_type ,
519
+ dart_datatype_t dst_type ,
547
520
dart_handle_t * handle ) DART_NOTHROW ;
548
521
549
522
/**
@@ -657,10 +630,13 @@ dart_ret_t dart_testall_local(
657
630
* 'BLOCKING' variant of dart_get.
658
631
* Both local and remote completion is guaranteed.
659
632
*
660
- * \param dest Local target memory to store the data.
661
- * \param gptr Global pointer being the source of the data transfer.
662
- * \param nelem The number of elements of type \c dtype to transfer.
663
- * \param dtype The data type of the values in buffer \c dest.
633
+ * \param dest Local target memory to store the data.
634
+ * \param gptr Global pointer being the source of the data transfer.
635
+ * \param nelem The number of elements of type \c dtype to transfer.
636
+ * \param src_type The data type of the values at the source.
637
+ * \param dst_type The data type of the values in buffer \c dest.
638
+ *
639
+ * \note Base-type conversion is not performed.
664
640
*
665
641
* \return \c DART_OK on success, any other of \ref dart_ret_t otherwise.
666
642
*
@@ -671,16 +647,20 @@ dart_ret_t dart_get_blocking(
671
647
void * dest ,
672
648
dart_gptr_t gptr ,
673
649
size_t nelem ,
674
- dart_datatype_t dtype ) DART_NOTHROW ;
650
+ dart_datatype_t src_type ,
651
+ dart_datatype_t dst_type ) DART_NOTHROW ;
675
652
676
653
/**
677
654
* 'BLOCKING' variant of dart_put.
678
655
* Both local and remote completion is guaranteed.
679
656
*
680
- * \param gptr Global pointer being the target of the data transfer.
681
- * \param src Local source memory to transfer data from.
682
- * \param nelem The number of elements of type \c dtype to transfer.
683
- * \param dtype The data type of the values in buffer \c dest.
657
+ * \param gptr Global pointer being the target of the data transfer.
658
+ * \param src Local source memory to transfer data from.
659
+ * \param nelem The number of elements of type \c dtype to transfer.
660
+ * \param src_type The data type of the values in buffer \c src.
661
+ * \param dst_type The data type of the values at the target.
662
+ *
663
+ * \note Base-type conversion is not performed.
684
664
*
685
665
* \return \c DART_OK on success, any other of \ref dart_ret_t otherwise.
686
666
*
@@ -691,7 +671,8 @@ dart_ret_t dart_put_blocking(
691
671
dart_gptr_t gptr ,
692
672
const void * src ,
693
673
size_t nelem ,
694
- dart_datatype_t dtype ) DART_NOTHROW ;
674
+ dart_datatype_t src_type ,
675
+ dart_datatype_t dst_type ) DART_NOTHROW ;
695
676
696
677
/** \} */
697
678
0 commit comments