DiskArrayEngine.EmptyInput
— Typestruct EmptyInput
A kind of placeholder array generating an artificial input in the DAG graph, which only gets filled during the computation. Mainly used to reserve an input buffer.
DiskArrayEngine.Input
— TypeType used for dispatch to show something is done in input mode
DiskArrayEngine.LoopWindows
— TypeStruct specifying the windows of a participating array along each dimension as well as the loop axes where this array participates in the loop
DiskArrayEngine.Output
— TypeType used for dispatch to show something is done in output mode
DiskArrayEngine.ProductArray
— TypeType very similar to Iterators.product
, but for indexable arrays.
DiskArrayEngine.apparent_chunksize
— MethodGiven the loop windows of an input array estimate the apparent chunks along an axis given the underlying chunks.
DiskArrayEngine.bufferrepeat
— MethodCompute how often a buffer needs to be passed to the computation before it can be flushed to the output array
DiskArrayEngine.clean_aggregator
— MethodRemoves all outout buffers from an output aggregator that have been successfully put to disk
DiskArrayEngine.domain_from_chunktype
— MethodReturns the full domain that a DiskArrays.ChunkType
object covers as a unit range
DiskArrayEngine.extract_outbuffer
— MethodExtracts or creates output buffer as an ArrayBuffer
DiskArrayEngine.fix_output_overlap
— MethodIf one of the outputs is a reduction it is important not to have overlapping loop ranges for a reduction group. This will try to correct loopranges to avoid the problems mentioned above.
DiskArrayEngine.generate_inbuffers
— MethodCreates buffers for input arrays
DiskArrayEngine.generate_outbuffers
— MethodCreates buffers for all outputs, results in a tuple of Dicts holding the collection for each output
DiskArrayEngine.generate_raw_outbuffer
— MethodCreate buffer for single output
DiskArrayEngine.getbufsize
— MethodDetermine the needed buffer size for a given Input array and loop ranges lr
DiskArrayEngine.interpolate_diskarray
— Methodinterpolate_diskarray(a, conv)
Function to interpolate a diskarray along one or more dimensions. The interpolation is specifed by the list conv
consisting of pairs of dim_index => (source_axis,dest_axis)
values. For example, to interpolate an input array with dimensions (x,y,t) to new coordinates (x2,y2,t2) you can do
````julia #Old coordinates a = [i+j+k for i in 1:4, j in 1:5, k in 1:6] #source coordinates x = 5.0:5.0:20.0 y = 2.0:3.0:14.0 #target coordinates x2 = 5.0:0.5:20.0 y2 = 1.5:1.0:14.5 r = interpolate_diskarray(a,(1=>(x,x2),2=>(y,y2)))
DiskArrayEngine.length_from_chunktype
— MethodReturns the length of a dimension covered by a DiskArrays.ChunkType
object
DiskArrayEngine.mustwrite
— MethodCheck if maximum number of aggregations has happened for a buffer
DiskArrayEngine.put_buffer
— MethodChecks if output buffers have accumulated to the end and exports to output array
DiskArrayEngine.put_buffer
— MethodFunction to finalize and remove buffers without writing to an array
DiskArrayEngine.range_from_parentchunks
— MethodTests that a supplied list of parent chunks covers the same domain and returns this
DiskArrayEngine.read_range
— MethodReads data from input array ia
along domain r
into buffer