|
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