Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 601b7879 authored by THIBAULT Samuel's avatar THIBAULT Samuel Committed by Mathieu Faverge
Browse files

ooc: Only require page alignment when using o_direct backend

parent ae4f8427
No related branches found
No related tags found
1 merge request!127ooc: Only require page alignment when using o_direct backend
...@@ -175,18 +175,22 @@ void RUNTIME_desc_create( CHAM_desc_t *desc ) ...@@ -175,18 +175,22 @@ void RUNTIME_desc_create( CHAM_desc_t *desc )
#endif #endif
if (desc->ooc) { if (desc->ooc) {
int lastmm = desc->lm - (desc->lmt-1) * desc->mb; char *backend = getenv("STARPU_DISK_SWAP_BACKEND");
int lastnn = desc->ln - (desc->lnt-1) * desc->nb;
int64_t eltsze = CHAMELEON_Element_Size(desc->dtyp); if (backend && strcmp(backend, "unistd_o_direct") == 0) {
int pagesize = getpagesize(); int lastmm = desc->lm - (desc->lmt-1) * desc->mb;
int lastnn = desc->ln - (desc->lnt-1) * desc->nb;
if ( ((desc->mb * desc->nb * eltsze) % pagesize != 0) || int64_t eltsze = CHAMELEON_Element_Size(desc->dtyp);
((lastmm * desc->nb * eltsze) % pagesize != 0) || int pagesize = getpagesize();
((desc->mb * lastnn * eltsze) % pagesize != 0) ||
((lastmm * lastnn * eltsze) % pagesize != 0) ) if ( ((desc->mb * desc->nb * eltsze) % pagesize != 0) ||
{ ((lastmm * desc->nb * eltsze) % pagesize != 0) ||
chameleon_error("RUNTIME_desc_create", "Matrix and tile size not suitable for out-of-core: all tiles have to be multiples of 4096. Tip : choose 'n' and 'nb' as both multiples of 32."); ((desc->mb * lastnn * eltsze) % pagesize != 0) ||
return; ((lastmm * lastnn * eltsze) % pagesize != 0) )
{
chameleon_error("RUNTIME_desc_create", "Matrix and tile size not suitable for out-of-core: all tiles have to be multiples of the system page size. Tip : choose 'n' and 'nb' as both multiples of 32.");
return;
}
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment