janniklinde opened a new pull request, #2389:
URL: https://github.com/apache/systemds/pull/2389

   This PR depends on #2387.
   
   This patch introduces a new `SourceStream` which is produced by 
`OOCReblockInstruction`. This change aims to prevent redundant disk writes 
caused by `CachingStream`s evicting the direct output of an upstream reblock 
instruction. The `SourceStream` triggers custom cache handling in the 
`CachingStream` and maintains an index for future direct access of source tiles 
on disk.
   
   These changes lead to significant speedups, allowing us to perform PCA on a 
1Mx1000 input matrix in ~26s compared to the previous ~40s (although some of 
the observed speedups came from the now parallel read in 
`OOCReblockInstruction` which was previously not possible due to OOM errors for 
5GB of allowed RAM).
   In addition, we are now able to run the same PCA script with 1GB of memory, 
which completes in ~31s.
   
   5GB:
   <img width="1920" height="943" alt="monitor" 
src="https://github.com/user-attachments/assets/bfc2e0f4-9f09-4d16-abab-edaefcdd6043";
 />
   
   1GB:
   <img width="2560" height="1263" alt="monitor" 
src="https://github.com/user-attachments/assets/7324a5ab-b887-47d5-91cf-9156c230d60b";
 />


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to