fcoll/base: do not use the two_phase compoment with CUDA support
the two_phase compoment does not work with some collective I/O operations on CUDA buffers due to the data sieving (i.e. both read and write operations) executed on some buffers, which are not anticipated in the GPU buffer management of the code. Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
Этот коммит содержится в:
родитель
6a532101aa
Коммит
ac79e576ef
@ -280,11 +280,18 @@ int mca_fcoll_base_query_table (struct ompio_file_t *file, char *name)
|
||||
}
|
||||
}
|
||||
if (!strcmp (name, "two_phase")) {
|
||||
#if OPAL_CUDA_SUPPORT
|
||||
/* do not use the two_phase component with CUDA
|
||||
buffers, since the data sieving causes trouble
|
||||
on unmanaged GPU buffers.
|
||||
*/
|
||||
#else
|
||||
if ((int)file->f_cc_size < file->f_bytes_per_agg &&
|
||||
(0 == file->f_stripe_size || file->f_cc_size < file->f_stripe_size) &&
|
||||
(LUSTRE != file->f_fstype) ) {
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user