Closed mrzv closed 9 years ago
Comment by Tom Peterka Saturday Nov 22, 2014 at 22:37 GMT
It might be time to ditch pnetcdf for tess2. We would need to redo the reader for draw and dense. Dense is a diy1 program that I need to convert to diy2, but draw is serial. We would need a standalone serial reader that reads all blocks into one process, or rewrite draw as a one-process diy2 program.
Comment by Dmitriy Morozov Saturday Nov 22, 2014 at 23:24 GMT
I think rewriting draw as a one-process diy2 program makes the most sense. We'd just have to tell it to use a single thread, rather than all available cores (-1). Moreover, if you don't want to deal with diy's foreach()
and such, you could just cycle through the blocks yourself, accessing them through Master::block(i)
or even Master::get(i)
. In the latter case, you'd be able to limit the number of blocks in memory (not that you'd ever want to with draw).
Comment by Dmitriy Morozov Friday Feb 20, 2015 at 19:57 GMT
Switching to diy::io::{read,write}_blocks()
in 7fabf16 fixed this issue.
Issue by Dmitriy Morozov Saturday Nov 22, 2014 at 21:50 GMT
Much of the logic can be copied from
diy/io/block.hpp
, but I'm not sure how it would interact with pNetCDF.