|
22 | 22 | #define MCA_COMMON_OMPIO_CUDA_H
|
23 | 23 |
|
24 | 24 |
|
25 |
| -#define OMPIO_PREPARE_BUF(_fh,_buf,_count,_datatype,_tbuf,_convertor,_max_data,_decoded_iov,_iov_count){ \ |
| 25 | +#define OMPIO_PREPARE_BUF(_fh,_buf,_count,_datatype,_tbuf,_convertor,_max_data,_tmp_buf_size,_decoded_iov,_iov_count){ \ |
26 | 26 | OBJ_CONSTRUCT( _convertor, opal_convertor_t); \
|
27 | 27 | opal_convertor_copy_and_prepare_for_send ( _fh->f_file_convertor, &(_datatype->super), _count, _buf, CONVERTOR_SEND_CONVERSION, _convertor ); \
|
28 | 28 | opal_convertor_get_packed_size( _convertor, &_max_data ); \
|
29 |
| - _tbuf = mca_common_ompio_alloc_buf (_fh, _max_data); \ |
| 29 | + _tbuf = mca_common_ompio_alloc_buf (_fh, _tmp_buf_size==0 ? _max_data : _tmp_buf_size); \ |
30 | 30 | if ( NULL == _tbuf ) { \
|
31 | 31 | opal_output(1, "common_ompio: error allocating memory\n"); \
|
32 | 32 | return OMPI_ERR_OUT_OF_RESOURCE; \
|
|
40 | 40 | _decoded_iov->iov_len = _max_data; \
|
41 | 41 | _iov_count=1;}
|
42 | 42 |
|
43 |
| -#define OMPIO_PREPARE_READ_BUF(_fh,_buf,_count,_datatype,_tbuf,_convertor,_max_data,_decoded_iov,_iov_count){ \ |
| 43 | +#define OMPIO_PREPARE_READ_BUF(_fh,_buf,_count,_datatype,_tbuf,_convertor,_max_data,_tmp_buf_size,_decoded_iov,_iov_count){ \ |
44 | 44 | OBJ_CONSTRUCT( _convertor, opal_convertor_t); \
|
45 | 45 | opal_convertor_copy_and_prepare_for_recv ( _fh->f_file_convertor, &(_datatype->super), _count, _buf, 0, _convertor ); \
|
46 | 46 | opal_convertor_get_packed_size( _convertor, &_max_data ); \
|
47 |
| - _tbuf = mca_common_ompio_alloc_buf (_fh, _max_data); \ |
| 47 | + _tbuf = mca_common_ompio_alloc_buf (_fh, _tmp_buf_size==0 ? _max_data : _tmp_buf_size); \ |
48 | 48 | if ( NULL == _tbuf ) { \
|
49 | 49 | opal_output(1, "common_ompio: error allocating memory\n"); \
|
50 | 50 | return OMPI_ERR_OUT_OF_RESOURCE; \
|
|
0 commit comments