You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
umap() divides a given region into fixed sized blocks of size pages_per_block=min(pages_in_region, UMAP_PAGES_PER_BLOCK).
If the number of pages in the region are not aligned to the pages_per_block boundary, there will be a residual set of pages that need to be added to the last block of the region and managed by the last worker thread.
While running umapsort() and examining the statistics, it was noticed that when running with a range of size 2049 pages, only 2048 pages were being properly handled:
This was indeed a bug and a fix is currently being tested.
We had noticed another flavor of this bug and an (insufficient) fix was made (see umap code change). The other bug had to do with how the blocks were divided up to the different num_workers worker threads. The fix for this took into account a residual number of blocks that it needed to assign to the last worker thread.
umap()
divides a given region into fixed sized blocks of sizepages_per_block=min(pages_in_region, UMAP_PAGES_PER_BLOCK)
.If the number of pages in the region are not aligned to the
pages_per_block
boundary, there will be a residual set of pages that need to be added to the last block of the region and managed by the last worker thread.While running umapsort() and examining the statistics, it was noticed that when running with a range of size 2049 pages, only 2048 pages were being properly handled:
The text was updated successfully, but these errors were encountered: