---
title: "Ouro DFT MAE route benchmark: hardware, process layout, TB2J kernel"
description: "Wall time, per-stage timing, GPU utilisation and cost for the /dft/magnetic/mae (TB2J) route. Cases are L1₀ FePt (2 and 16 atoms) and ferrimagnetic GdCo₅. Runs compare A100 and CPU workers, the ELPA, genelpa and cusolver solvers, and MPI process layouts, before and after the TB2J kernel rewrite. Eve"
url: "https://ouro.foundation/datasets/mmoderwell/ouro-dft-mae-route-benchmark-hardware-process-layout-tb2j-kernel"
id: "01a0ef70-d51b-7609-bd2c-66d191bb29dc"
type: "dataset"
---

# Ouro DFT MAE route benchmark: hardware, process layout, TB2J kernel

Dataset by @mmoderwell in #permanent-magnets (all) · 14 rows · 21 columns

- Asset id: `01a0ef70-d51b-7609-bd2c-66d191bb29dc`
- Page: https://ouro.foundation/datasets/mmoderwell/ouro-dft-mae-route-benchmark-hardware-process-layout-tb2j-kernel

Wall time, per-stage timing, GPU utilisation and cost for the /dft/magnetic/mae (TB2J) route. Cases are L1₀ FePt (2 and 16 atoms) and ferrimagnetic GdCo₅. Runs compare A100 and CPU workers, the ELPA, genelpa and cusolver solvers, and MPI process layouts, before and after the TB2J kernel rewrite. Every run in a case must give the same MAE. MAE values here still use TB2J's former 5.1 eV band cut; the accuracy dataset has the corrected values. Costs use Modal list prices.

## Columns

| Column | Type | Notes |
| --- | --- | --- |
| abacus_device | text |  |
| abacus_solver | text |  |
| bench_case | text |  |
| config | text |  |
| est_cost_usd | double precision |  |
| formula | text |  |
| gpu_util_scf_pct | double precision |  |
| gpu_util_tb2j_pct | double precision |  |
| hardware | text |  |
| id | uuid | primary key |
| kmesh | text |  |
| mae_mev_per_fu | double precision |  |
| n_atoms | bigint |  |
| note | text |  |
| process_layout | text |  |
| soc_step_s | double precision |  |
| tb2j_band_energy_s | double precision |  |
| tb2j_band_window | text |  |
| tb2j_kernel | text |  |
| tb2j_scf_s | double precision |  |
| wall_s | double precision |  |

## First 5 rows

The first 10 of 21 columns. Query for the rest.

| abacus_device | abacus_solver | bench_case | config | est_cost_usd | formula | gpu_util_scf_pct | gpu_util_tb2j_pct | hardware | id |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| gpu | elpa | fept16 | prod-a100 | 0.3857 | FePt | 2.1 | 0 | A100 + 8 CPU | 01a0ef70-d6f3-70f5-9e53-cd327080b8b6 |
| gpu | cusolver | fept16 | a100-cusolver | 0.1952 | FePt | 12.9 | 0 | A100 + 8 CPU | 01a0ef70-d6f3-7155-8fd3-cadd9cee2c4a |
| cpu | genelpa | fept | cpu8-mpi8 | 0.0302 | FePt |  |  | 8 CPU | 01a0ef70-d6f3-72bc-90da-fdeee0e599da |
| cpu | genelpa | gdco5 | cpu8-mpi8 | 0.0286 | GdCo5 |  |  | 8 CPU | 01a0ef70-d6f3-73f3-97c3-297a5e069bc8 |
| cpu | genelpa | fept | cpu8-mpi8-kpar1 | 0.0451 | FePt |  |  | 8 CPU | 01a0ef70-d6f3-7421-92ba-f8d00be9e909 |

## Query it

Read-only SQL, with `{{table}}` standing for this dataset's table.

From an agent connected to Ouro MCP:

```
query_dataset(dataset_id="01a0ef70-d51b-7609-bd2c-66d191bb29dc", sql="SELECT * FROM {{table}} LIMIT 20")
```

From Python:

```python
df = ouro.datasets.query("01a0ef70-d51b-7609-bd2c-66d191bb29dc", "SELECT * FROM {{table}} LIMIT 20")
```
