1
$\begingroup$

I just stumbled upon this "out-of-core" term and tried to see what it is about. There are a few papers and even a few questions talking about it here at computergraphics.stackexchange, but I cannot find a definition / description of what it actually is.

Is it the process(/technique) of dividing resources up such that only part is loaded onto the device? Is it the general happenstance that not everything fits onto the device?

$\endgroup$
1
  • $\begingroup$ ChatGPT: "Out-of-core ray tracing is a technique used in computer graphics and rendering to handle large-scale scenes that do not fit entirely into the computer's main memory (RAM). " "In the context of GPUs (Graphics Processing Units), out-of-core ray tracing refers to a similar concept, but with a focus on how the GPU handles large scenes that exceed its available memory capacity. " $\endgroup$
    – user1703
    Jul 25 at 22:04

1 Answer 1

4
$\begingroup$

I think you are right. The general out-of-core describes exactly the situation in which we have limitted memory (RAM for CPU and global memory for GPU) compared to the task.

The term out-of-core typically refers to processing data that is too large to fit into a computer's main memory. Out-of-core - MachineLearningWTF

The term mentioned more, I believe, is out-of-core rendering, which is a broader concept that we don't have to rely on ray-tracing related approaches to do the rendering. However, the underlying problems to solve are the same:

  • Geometry is too complex (tremendous amount of primitives)
  • Textures are too detailed (thus, large)
  • The scene is simply too large

So locally we usually use tiled-based rendering (and load / store tiles dynamically) and paging (may swap the finished part to the external storage, or directly output as files and do a final composition) or even some more complex pipelines for GPU (since host/device memory is quite different) to solve the lack of memory problem.

Note that I've seen no official definition from any literature before, but they do convey some very similar concepts for out-of-core ray-tracing (rendering):

[1] Kirill Garanzha, Alexander Bely, Simon Premoze, and Vladimir Galaktionov. 2011. Out-of-core GPU ray tracing of complex scenes. In ACM SIGGRAPH 2011 Talks (SIGGRAPH '11). Association for Computing Machinery, New York, NY, USA, Article 21, 1. https://doi.org/10.1145/2037826.2037854

[2] Budge, Brian, et al. "Out‐of‐core data management for path tracing on hybrid resources." Computer Graphics Forum. Vol. 28. No. 2. Oxford, UK: Blackwell Publishing Ltd, 2009.

[3] Rui Wang, Yuchi Huo, Yazhen Yuan, Kun Zhou, Wei Hua, and Hujun Bao. 2013. GPU-based out-of-core many-lights rendering. ACM Trans. Graph. 32, 6, Article 210 (November 2013), 10 pages. https://doi.org/10.1145/2508363.2508413

[4] Wald, Ingo, Andreas Dietrich, and Philipp Slusallek. "An interactive out-of-core rendering framework for visualizing massively complex models." ACM SIGGRAPH 2005 Courses. 2005. 17-es.

[5] Varadhan, Gokul, and Dinesh Manocha. "Out-of-core rendering of massive geometric environments." IEEE Visualization, 2002. VIS 2002.. IEEE, 2002.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.