Compute and hardware¶
Every job runs on PoreStore's hardware, never on your computer. PoreStore sends each job to a machine suited to the tool and large enough for the image, and the machine reads the image, runs the tool and stores the result. You can close the browser while it runs.
CPU and GPU jobs¶
| Runs on | Tools |
|---|---|
| GPU | Diffusivity, Permeability and Conductivity, whose solvers do millions of small, identical updates that a GPU does in parallel; 3D Visualization and ParaView Server, which render on a server GPU and stream the picture to you |
| CPU | Everything else: uploads and imports, segmentation, image preparation, the structure, statistics, multiphase and REV tools, network extraction and validation, SEM View, X-Ray View and exports |
A CPU job picks its machine for you: PoreStore works out the memory the tool needs for your image and runs it on the smallest machine with enough. There's nothing to choose.
Compute tiers¶
The GPU tools have a Compute tier setting on their launch form. A tier is a class of hardware, named by its memory and its GPU, such as 48 GB GPU · A40/A6000. Each tier has a largest image it takes for each backend, and the launch form refuses a tier too small for your image. Compare tiers for this image, under the setting, shows which tiers fit.
Every tier runs the same solver with the same settings, so the tier never changes the answer. It changes only how soon the job starts and how fast it runs.
What Auto does¶
Auto (idle hardware first) is the default, and the right choice for almost every job. When you launch, Auto:
- runs the job on an idle 48 GB GPU · RTX 8000 if one is free and the image fits it;
- otherwise sends it straight to the smallest tier that fits the image;
- while the job waits for that tier, moves it to another tier of the same size or larger as soon as one has a GPU free.
Choosing a tier yourself skips all of this: the job waits for that tier. If you choose 48 GB GPU · RTX 8000 and none comes free within an hour, the job fails.
Largest image per tier¶
The largest image, in voxels, each GPU backend takes on each tier. Conductivity uses the same backends and limits as Diffusivity.
| Tier | Tortuosity.jl | TauFactor | waLBerla | Kabs Taichi |
|---|---|---|---|---|
| 48 GB GPU · A40/A6000 | 857 M (950³) | 275 M (650³) | 125 M (500³) | 125 M (500³) |
| 48 GB GPU · RTX 8000 | 857 M (950³) | 275 M (650³) | 125 M (500³) | 125 M (500³) |
| 141 GB GPU · H200 | 1 000 M (1000³) | 1 000 M (1000³) | 512 M (800³) | 1 000 M (1000³) |
| Beta backend | Runs on | Largest image |
|---|---|---|
| Kabs XLB-JAX, Kabs XLB-Warp | the 48 GB GPUs, chosen for you | 125 M (500³) |
An image larger than the biggest tier for your backend can't run on it: try another backend, or trim or downsample the image first. On the job page, the Settings panel shows the tier you asked for (Requested Compute Tier), the tier Auto chose (Resolved Hardware) and the GPU the job ran on (Hardware Used).
Parallel work¶
- Inside a job. A GPU solver updates every voxel of the image at once, in parallel. A CPU tool runs on a machine sized for the image: larger images get more memory and more cores.
- Across jobs. Each job gets its own machine, so the jobs you launch run side by side rather than one after another. How many run at the same moment depends on how much hardware of that kind is free.
- Batches. Running a tool on a batch launches one job per image, with the same settings. Each job runs, succeeds or fails on its own, and has its own result.
- Viewer sessions. One 3D Visualization or ParaView Server session can run for a team at a time.
A job that waits for hardware shows as queued until a machine starts it. Job states explains each step.