Back to enclave research
Glasshouse follow-up / May 14, 2026

Glasshouse passed RunPod Secure GPU portability across RTX PRO, H100, H200, and B200.

After the original RTX 3090 proof, the follow-up asked whether Glasshouse still worked across production-class GPU shapes and a second provider path. It did: four RunPod Secure featured GPUs passed, H100 sustained a 15-minute run, and corrected MLP overhead stayed inside order/runtime variance on RunPod and Vast.ai.

What changed after the original proof

The May 3 article proved one complete lifecycle. This follow-up checks whether the same Glasshouse path survives broader GPU selection, a sustained production-class accelerator run, and a second provider overhead comparison.

The answer is still scoped carefully: the lifecycle is portable across these tested GPUs and providers, while production model training is handled in the next chapter.

GPU portability

RunPod Secure passed four featured GPU classes.

Each 60-second run reached verified attestation, emitted enclave.release_plan_completed, produced unique trained digests for three tenants on one GPU, and exited with a zeroized runtime state.

ProviderGPUElapsedEpochsAttestationExit
RunPod SecureRTX PRO 6000 Blackwell60.001s42,846verifiedzeroized
RunPod SecureH100 SXM60.001s59,763verifiedzeroized
RunPod SecureH200 SXM60.003s55,878verifiedzeroized
RunPod SecureB20060.188s21,990verifiedzeroized

The sustained follow-up used H100 because it is a production-class accelerator and produced the cleanest throughput in the 60-second matrix.

ProviderGPUElapsedEpochsTenant digestsExit
RunPod SecureH100 SXM900.001s808,3053/3 uniquezeroized
Corrected overhead

The May 14 MLP overhead check stayed inside runtime variance.

Earlier protected-vs-raw measurements compared different GPU allocations. This follow-up moved to same-provider sequential segments and both orderings. The 30-minute RunPod range was -1.53% to 5.83%; the 30-minute Vast.ai range was -2.66% to 2.29%.

ProviderDurationOrderProtected eps/sRaw eps/sDeltaInterpretation
RunPod1 minprotected first986.4001,073.0498.07%noise check
RunPod1 minraw first1,094.550973.884-12.39%noise check
RunPod15 minprotected first1,164.0801,116.046-4.30%variance
RunPod15 minraw first1,084.7271,105.4701.88%variance
RunPod30 minprotected first1,117.7451,100.861-1.53%variance
RunPod30 minraw first1,195.6141,269.6575.83%variance
Vast.ai1 minprotected first585.924546.732-7.17%noise check
Vast.ai1 minraw first935.300891.317-4.93%noise check
Vast.ai15 minprotected first852.754936.9198.98%variance
Vast.ai15 minraw first705.883596.386-18.36%variance
Vast.ai30 minprotected first938.434960.4182.29%variance
Vast.ai30 minraw first986.207960.614-2.66%variance
Measurement dateMay 14, 2026
WorkloadMatched release-agent CUDA/PyTorch MLP
Protected pathGlasshouse package, attestation, gated key release, execution evidence, zeroization
Raw pathSame MLP workload, same weights hash, no Glasshouse lifecycle
Comparison shapeSame provider allocation, sequential protected/raw segments, both orderings
Validation ruleRaw complete, attestation verified, zeroized runtime, cleanup observed
Interpretation rule30-minute overhead stayed inside order/runtime variance on both providers
Next refinementSame-instance H100 headline and real Qwen workload, covered in the next article
Sanitized excerpts

The public artifacts keep measurement fields without secrets.

overhead artifact excerpt
{
  "measurementDate": "2026-05-14",
  "methodology": "same provider allocation, sequential protected/raw segments, both orderings",
  "runpod30MinuteRangePct": [-1.53, 5.83],
  "vastai30MinuteRangePct": [-2.66, 2.29],
  "validResults": 12,
  "invalidResults": 0,
  "interpretation": "overhead stayed inside order/runtime variance for the matched MLP workload"
}
portability artifact excerpt
{
  "measurementDate": "2026-05-14",
  "provider": "RunPod Secure Cloud",
  "featuredGpu60s": ["RTX PRO 6000", "H100 SXM", "H200 SXM", "B200"],
  "featuredGpuPasses": "4/4",
  "sustainedRun": {
    "gpu": "NVIDIA H100 80GB HBM3",
    "elapsedSec": 900.001,
    "epochs": 808305,
    "attestationStatus": "verified",
    "runtimeState": "zeroized",
    "tenantIsolation": "3/3 unique trained digests"
  }
}
Caveats

The follow-up widens the proof without overstating it.

Negative overhead rows are not a claim that protection makes training faster. They show order/runtime variance exceeded the measured protection cost in those rows.
The overhead table uses a matched MLP workload, not a production model fine-tune.
The portability table proves lifecycle compatibility across GPU classes, not universal support for every provider image or driver combination.
The public artifacts exclude API keys, public tunnel URLs, encrypted payloads, and provider credentials.