[{"data":1,"prerenderedAt":275},["ShallowReactive",2],{"finding:c32-gsplat-smoke":3,"finding-runs:c32-gsplat-smoke":240,"finding-related:c32-gsplat-smoke":241},{"meta":4,"impact":31,"sections":38},{"id":5,"title":6,"subtitle":7,"eyebrow":8,"date":9,"status":10,"category":11,"polarity":12,"axes":13,"tags":15,"task_code":24,"related_runs":25,"related_findings":28},"c32-gsplat-smoke","c32 V100 gsplat smoke — NFS 共有 env を異 sm 機へ持ち込み JIT 再 build 1 回で動作確認","Phase 2a。c33 (A6000, sm_86) で構築した gsplat-env を NFS 経由で c32 (V100, sm_70) に持ち込み、TORCH_CUDA_ARCH_LIST=7.0 で JIT 再 build (93s) → Lego 1k iter \u002F 10.5s \u002F val PSNR 19.81 dB。c33↔c32 間の env 共有運用が成立することを smoke で確認。","Phase 2a · gsplat V100 smoke","2026-05-23","stable","setup","positive",[14],2,[16,17,18,19,20,21,22,23],"phase-2","gsplat","v100","c32","cuda","smoke","nfs","jit","A.3",[26,27],"gsplat-lego-1k-smoke","gsplat-lego-50-dryrun",[29,30],"c33-cuda-setup-notes","c32-orig3dgs-bench",{"summary":32,"rank":33,"verdict":34,"delta_psnr":35,"delta_wallclock":36,"delta_splats":37},"NFS 共有 gsplat-env を異 sm 機 (c33 sm_86 → c32 sm_70) に持ち込み、TORCH_CUDA_ARCH_LIST=7.0 で JIT 再 build 1 回 (93s) → 即動作。Lego 1k iter で wallclock 10.5s \u002F val PSNR 19.81 dB。30k full は Phase 2b。","mid","accepted",19.81,"10.5s \u002F 1k step","10000 → 10522",[39,42,68,71,91,94,96,98,102,104,107,109,111,113,115,117,119,128,130,132,134,137,139,141,143,146,148,153,155,183,185,190,192,194,196,198,200,207,209,214,216,234,236,238],{"type":40,"text":41},"lead","c33 (A6000, sm_86) で構築済の \u003Ccode>gsplat-env\u003C\u002Fcode> (NFS 共有ホーム) を c32 (Tesla V100-PCIE-32GB, sm_70) で \u003Cstrong>そのまま activate\u003C\u002Fstrong>、\u003Ccode>TORCH_CUDA_ARCH_LIST=7.0\u003C\u002Fcode> 指定で JIT 再 build を経て NeRF Synthetic Lego を 1k iter 学習。\u003Cstrong>train wallclock 10.5s \u002F val PSNR 19.81 dB\u003C\u002Fstrong>、env 共有運用と異 sm 切替が smoke で成立。",{"type":43,"items":44},"kv",[45,47,50,53,56,59,62,65],{"key":46,"value":9},"実施日",{"key":48,"value":49},"対象機","matsudalab-c32 (compute-0-32, V100-PCIE-32GB × 2, driver 530.30.02, CUDA 12.1)",{"key":51,"value":52},"GPU 占有","GPU0 = 他ユーザ 100% util、GPU1 = 0% util \u002F 32 GB free → CUDA_VISIBLE_DEVICES=1",{"key":54,"value":55},"env","~\u002Fminiconda3\u002Fenvs\u002Fgsplat-env (NFS 共有、c33 構築済)",{"key":57,"value":58},"torch \u002F gsplat","torch 2.4.1+cu121 \u002F gsplat 1.5.3",{"key":60,"value":61},"sm","7.0 (V100) — TORCH_CUDA_ARCH_LIST=7.0 で JIT、初回 92.9s",{"key":63,"value":64},"dataset","~\u002Fdatasets\u002Fnerf_synthetic\u002Flego (NFS、c33 経由 rsync)",{"key":66,"value":67},"trainer","scripts\u002Fgsplat_lego_smoke.py (自前 Blender adapter)",{"type":69,"text":70},"heading","TL;DR",{"type":72,"columns":73,"align":76,"rows":78},"table",[74,75],"項目","値",[77,77],"left",[79,82,85,88],[80,81],"train wallclock","10.5 s \u002F 1000 step (≈95 step\u002Fs)",[83,84],"eval PSNR (val)","19.81 dB (N_val=100)",[86,87],"init \u002F final gauss","10000 → 10522 (DefaultStrategy で +500、step 500 から refine 開始)",[89,90],"status","smoke 成功",{"type":92,"text":93},"paragraph","c33 (NFS 共有 env) → c32 (異 sm) は \u003Cstrong>JIT で再 build 1 回 + 即動作\u003C\u002Fstrong>、追加 setup 不要。",{"type":69,"text":95},"1. rsync (Step 1)",{"type":92,"text":97},"ローカル m3 mac (\u003Ccode>\u002FUsers\u002Fotkrickey\u002Fdev\u002F3dgs-workspace\u002Fdatasets\u002Fnerf_synthetic\u002Flego\u002F\u003C\u002Fcode>、111 MB、309 ファイル) を c33 の NFS 共有ホーム \u003Ccode>~\u002Fdatasets\u002Fnerf_synthetic\u002Flego\u002F\u003C\u002Fcode> へ。",{"type":99,"lang":100,"text":101},"code","bash","rsync -avh --ignore-existing --progress \\\n  \u002FUsers\u002Fotkrickey\u002Fdev\u002F3dgs-workspace\u002Fdatasets\u002Fnerf_synthetic\u002Flego\u002F \\\n  matsudalab-c33:~\u002Fdatasets\u002Fnerf_synthetic\u002Flego\u002F\n# → sent 116.28M bytes  received 5.91K bytes  10.11M bytes\u002Fsec  total 11.2s\n",{"type":92,"text":103},"NFS 共有ホームなので c32 (\u003Ccode>compute-0-32\u003C\u002Fcode>) から \u003Cstrong>そのまま \u003Ccode>~\u002Fdatasets\u002Fnerf_synthetic\u002Flego\u002F\u003C\u002Fcode> で見える\u003C\u002Fstrong>。\u003Ccode>init.ply\u003C\u002Fcode> も含めて 112 MB が見えた。",{"type":69,"level":105,"text":106},3,"dataset 欠損 (要 follow-up)",{"type":92,"text":108},"\u003Ccode>transforms_test.json\u003C\u002Fcode> は 200 frame 参照だが、ローカル \u003Ccode>lego\u002Ftest\u002F\u003C\u002Fcode> は \u003Cstrong>164 frame が欠損\u003C\u002Fstrong> (\u003Ccode>r_0.png\u003C\u002Fcode> も含めて存在しない)。\u003Ccode>train\u003C\u002Fcode> (100 \u002F 100)、\u003Ccode>val\u003C\u002Fcode> (100 \u002F 100) は完整。\u003Cstrong>今回の smoke は val で eval\u003C\u002Fstrong> (Lego val は train と同一カメラ分布なので bench としてはやや甘い)。Phase 2b 30k full では \u003Ccode>nerf_synthetic.zip\u003C\u002Fcode> をオリジナル DL ソースから取り直すか、\u003Ccode>test\u002F\u003C\u002Fcode> のみ別途回収する必要あり。",{"type":69,"text":110},"2. gsplat trainer (Step 2)",{"type":69,"level":105,"text":112},"blocker: simple_trainer.py は Blender 未対応",{"type":92,"text":114},"\u003Ccode>nerfstudio-project\u002Fgsplat\u003C\u002Fcode> HEAD (\u003Ccode>b5392fe\u003C\u002Fcode>) の \u003Ccode>examples\u002Fsimple_trainer.py\u003C\u002Fcode> は \u003Cstrong>COLMAP \u002F NCore データセットのみ対応\u003C\u002Fstrong>で、NeRF Synthetic (transforms_*.json + RGBA PNG) を直接 load できない (advisor 経由で確認、\u003Ccode>examples\u002Fdatasets\u002F\u003C\u002Fcode> に colmap.py \u002F ncore.py のみ存在、\u003Ccode>examples\u002Fbenchmarks\u002F\u003C\u002Fcode> にも Blender 用 script 無し)。",{"type":92,"text":116},"選択肢: (a) gsplat 旧 tag に戻す、(b) COLMAP 変換 (\u003Ccode>ns-process-data\u003C\u002Fcode>)、(c) \u003Cstrong>薄い Blender adapter を自作\u003C\u002Fstrong>。本卒研は将来 wallclock 比較を細かく整えるため (b)\u002F(a) は捨て、(c) の 200 行スクリプトで \u003Ccode>gsplat.rendering.rasterization\u003C\u002Fcode> + \u003Ccode>DefaultStrategy\u003C\u002Fcode> を直叩きする minimal trainer を書いた。",{"type":69,"level":105,"text":118},"adapter: scripts\u002Fgsplat_lego_smoke.py",{"type":120,"items":121},"list",[122,123,124,125,126,127],"NeRF Synthetic の OpenGL カメラ規約 (y-up, z-back) を \u003Cstrong>OpenCV 規約 (y-down, z-fwd) に変換\u003C\u002Fstrong> (\u003Ccode>diag(1,-1,-1,1)\u003C\u002Fcode> を c2w に右乗算)","RGBA を \u003Cstrong>white background へ alpha compose\u003C\u002Fstrong> (\u003Ccode>rgb*α + (1-α)\u003C\u002Fcode>、Kerbl baseline 慣例)","intrinsics は \u003Ccode>camera_angle_x\u003C\u002Fcode> から \u003Ccode>fx = 0.5 * W \u002F tan(0.5 * angle)\u003C\u002Fcode>","init は \u003Ccode>init.ply\u003C\u002Fcode> (10k points、scripts\u002Fgen_init_ply.py 形式) を直接 load","\u003Ccode>sh_degree=3\u003C\u002Fcode> (K=16)、L1 loss のみ (SSIM 無し)、DefaultStrategy 既定値","6 optim group (means \u002F quats \u002F scales \u002F opacities \u002F sh0 \u002F shN)、Adam 既定 lr",{"type":69,"level":105,"text":129},"実行",{"type":99,"lang":100,"text":131},"ssh matsudalab-c32\nsource ~\u002Fminiconda3\u002Fetc\u002Fprofile.d\u002Fconda.sh && conda activate gsplat-env\nexport CUDA_VISIBLE_DEVICES=1\nexport TORCH_CUDA_ARCH_LIST='7.0'   # V100 (sm_70)\npython ~\u002Fgsplat_lego_smoke.py \\\n  --data-dir ~\u002Fdatasets\u002Fnerf_synthetic\u002Flego \\\n  --result-dir ~\u002Fruns\u002Fgsplat-lego-1k-smoke \\\n  --max-steps 1000\n",{"type":69,"level":105,"text":133},"JIT build (1 回目だけ)",{"type":99,"lang":135,"text":136},"text","gsplat: CUDA extension has been set up successfully in 92.89 seconds.",{"type":92,"text":138},"\u003Ccode>TORCH_CUDA_ARCH_LIST=7.0\u003C\u002Fcode> で sm_70 用に JIT。c33 でビルド済の sm_86 cache は再利用されず、約 93 秒で sm_70 用 .so が \u003Ccode>~\u002F.cache\u002Ftorch_extensions\u002F...\u003C\u002Fcode> に生成された (NFS 共有なので c32 専用キャッシュとして残る)。\u003Cstrong>2 回目以降の起動は数秒\u003C\u002Fstrong>。",{"type":69,"level":105,"text":140},"結果",{"type":99,"lang":135,"text":142},"[setup] GPU: Tesla V100-PCIE-32GB\n[data] train: (100, 800, 800, 3), eval(val): (100, 800, 800, 3)\n[data] HxW = 800x800, loaded in 7.5s\n[init] N_gaussians=10000, sh_degree=3, K_sh=16\n\n[step     0] loss=0.1769  N=10000\n[step   100] loss=0.2007  N=10000\n[step   200] loss=0.1482  N=10000\n[step   300] loss=0.1082  N=10000\n[step   400] loss=0.0870  N=10000\n[step   500] loss=0.0774  N=10000        ← refine_start_iter\n[step   600] loss=0.0704  N=9841         ← prune が走り一旦減\n[step   700] loss=0.0433  N=9917\n[step   800] loss=0.0473  N=10148\n[step   900] loss=0.0496  N=10522\n[step   999] loss=0.0341  N=10522\n\n[train] done. wallclock=10.5s, final_N=10522\n[eval] val PSNR mean=19.809 (N_val=100)\n",{"type":99,"lang":144,"text":145},"json","{\n  \"step\": 1000,\n  \"psnr_val\": 19.809,\n  \"eval_split\": \"val\",\n  \"eval_split_note\": \"test split has 164\u002F200 missing in local copy; switched to val\",\n  \"train_wallclock_sec\": 10.502,\n  \"final_n_gaussians\": 10522,\n  \"init_n_gaussians\": 10000,\n  \"gpu_name\": \"Tesla V100-PCIE-32GB\",\n  \"data_dir\": \"\u002Fhome\u002Fotake_26\u002Fdatasets\u002Fnerf_synthetic\u002Flego\",\n  \"sh_degree\": 3\n}\n",{"type":69,"level":105,"text":147},"数字の意味",{"type":120,"items":149},[150,151,152],"\u003Cstrong>wallclock 10.5 s \u002F 1k step = 95 step\u002Fs\u003C\u002Fstrong>: tqdm のリアルタイム rate は中盤 130 step\u002Fs 程度、step 500 (refine 開始) で一旦 30 step\u002Fs に落ち、refresh 後復帰。V100 32GB で memory はほぼ余裕 (10522 gauss \u002F sh=3 は数十 MB レベル)。","\u003Cstrong>PSNR 19.8 dB \u002F 1k step\u003C\u002Fstrong>: Kerbl 公式の Lego 30k baseline は ~35 dB。1k 段階の 19.8 はオーダーとして妥当 (10k init → 10k 強でほぼ未 densify、SSIM loss 無し)。30k で 30 dB 以上まで上がる確度は別途。","gsplat の DefaultStrategy が \u003Ccode>refine_start_iter=500\u003C\u002Fcode> で動き始め、\u003Ccode>prune_opa=0.005\u003C\u002Fcode> で一度減ってからグロースする挙動が観察できた。",{"type":69,"text":154},"3. 失敗箇所と原因 (途中で踏んだトラップ)",{"type":72,"columns":156,"align":161,"rows":162},[157,158,159,160],"#","失敗","原因","対処",[77,77,77,77],[163,168,173,178],[164,165,166,167],"F1","\u003Ccode>simple_trainer.py --help\u003C\u002Fcode> で \u003Ccode>ModuleNotFoundError: imageio\u003C\u002Fcode>","gsplat\u002Fexamples の deps 未 install (それ自体は想定内)","要件確認して minimal deps だけ install (\u003Ccode>imageio[ffmpeg]\u003C\u002Fcode> \u003Ccode>tqdm\u003C\u002Fcode> \u003Ccode>numpy&lt;2\u003C\u002Fcode> \u003Ccode>torchmetrics[image]\u003C\u002Fcode> \u003Ccode>Pillow\u003C\u002Fcode>)",[169,170,171,172],"F2","examples が COLMAP \u002F NCore のみ、Blender 未サポート","gsplat HEAD では Blender path 削除済 (advisor 検証)","自作 adapter (\u003Ccode>gsplat_lego_smoke.py\u003C\u002Fcode>) で \u003Ccode>rasterization\u003C\u002Fcode> を直叩き",[174,175,176,177],"F3","\u003Ccode>FileNotFoundError: 'r_0.png.png'\u003C\u002Fcode>","NeRF Synthetic の \u003Ccode>file_path\u003C\u002Fcode> は \u003Ccode>.\u002Ftrain\u002Fr_0\u003C\u002Fcode> (拡張子なし) だが、test split は \u003Ccode>.\u002Ftest\u002Fr_0.png\u003C\u002Fcode> (拡張子付き) と inconsistent","path に \u003Ccode>.png\u003C\u002Fcode> を append する前に \u003Ccode>exists()\u003C\u002Fcode> チェックする 2-stage",[179,180,181,182],"F4","\u003Ccode>eval\u003C\u002Fcode> の test PSNR で again FileNotFoundError","\u003Cstrong>ローカル \u003Ccode>lego\u002Ftest\u002F\u003C\u002Fcode> で 200 中 164 frame が物理欠損\u003C\u002Fstrong> (r_0.png 等が存在しない)","smoke では val split で eval、Phase 2b で test を再取得",{"type":69,"level":105,"text":184},"TORCH_CUDA_ARCH_LIST について",{"type":186,"label":187,"variant":188,"text":189},"callout","JIT cache の落とし穴","warn","\u003Ccode>gsplat\u003C\u002Fcode> の JIT は \u003Ccode>TORCH_CUDA_ARCH_LIST\u003C\u002Fcode> を見て nvcc に \u003Ccode>-gencode arch=compute_70,code=sm_70\u003C\u002Fcode> を渡す。c33 (A6000、sm_86) 用キャッシュをそのまま使うと V100 (sm_70) では \u003Ccode>no kernel image is available for execution on the device\u003C\u002Fcode> が出る可能性があった (今回は明示 export で回避)。\u003Cstrong>NFS 共有 env で sm が異なる機を行き来する場合は必ず \u003Ccode>TORCH_CUDA_ARCH_LIST\u003C\u002Fcode> を指定\u003C\u002Fstrong>するのが安全。",{"type":69,"text":191},"4. リモートファイル (c32 \u002F NFS 共有)",{"type":99,"lang":135,"text":193},"\u002Fhome\u002Fotake_26\u002F                       (= NFS、c32\u002Fc33\u002Fc34 共通)\n├── miniconda3\u002Fenvs\u002Fgsplat-env\u002F       ← c33 で構築、c32 でそのまま activate\n├── datasets\u002Fnerf_synthetic\u002Flego\u002F     ← 今回 rsync 配置 (112M、init.ply 含む)\n├── repos\u002Fgsplat-examples\u002F            ← gsplat HEAD clone (b5392fe)\n├── gsplat_lego_smoke.py              ← 自作 Blender adapter (scp 経由)\n├── runs\u002Fgsplat-lego-1k-smoke\u002F        ← 結果\n│   ├── eval.json\n│   └── log.txt\n├── runs\u002Fgsplat-lego-50-dryrun\u002F       ← API 検証 (50 step、消しても可)\n└── gsplat_1k.log                     ← nohup 出力\n",{"type":92,"text":195},"GPU 占有 (run 中スナップショット): GPU1 14.0 GiB \u002F 32.5 GiB、Util ~99% (train 中)。GPU0 は他ユーザ稼働中で踏まず。",{"type":69,"text":197},"5. Phase 2b への引き継ぎ",{"type":69,"level":105,"text":199},"必須",{"type":120,"ordered":201,"items":202},true,[203,204,205,206],"\u003Cstrong>\u003Ccode>test\u002F\u003C\u002Fcode> 復元\u003C\u002Fstrong>: \u003Ccode>nerf_synthetic.zip\u003C\u002Fcode> 公式 (Kerbl らが配布する google drive、または NeRF 公式) から \u003Cstrong>lego\u002Ftest\u002F\u003C\u002Fstrong> を取り直し、200 frame 揃える。これが無いと paper baseline (Kerbl 35.78 dB on Lego) との比較が不可。","\u003Cstrong>30k full run\u003C\u002Fstrong>: \u003Ccode>--max-steps 30000\u003C\u002Fcode>、wallclock 推測 = 10.5s × 30 = \u003Cstrong>~5-6 分\u003C\u002Fstrong> (refine による減速考慮、おそらく 8-12 分) on V100 GPU1。\u003Ccode>tmux\u003C\u002Fcode> または \u003Ccode>nohup\u003C\u002Fcode> で SSH 切断耐性確保。","\u003Cstrong>L1 + SSIM loss\u003C\u002Fstrong>: 現状は L1 only。Kerbl baseline (λ=0.2 で SSIM 合算) に合わせる場合は \u003Ccode>fused_ssim\u003C\u002Fcode> を追加 install して loss 合成。","\u003Cstrong>三層対比表 (A.3 主目的)\u003C\u002Fstrong>: 同 Lego 30k を \u003Cstrong>c33 (A6000) + c32 (V100) + m4 max (Metal)\u003C\u002Fstrong> の 3 機 × \u003Cstrong>gsplat \u002F 原著 \u002F brush\u003C\u002Fstrong> で回し、wallclock + PSNR + VRAM を集計。",{"type":69,"level":105,"text":208},"任意 \u002F 推奨",{"type":120,"items":210},[211,212,213],"adapter の random sampling は今回 numpy rng なので、再現性を取る場合は torch 側にも seed (\u003Ccode>torch.manual_seed\u003C\u002Fcode> は呼んでいるが、SH coeff のような 0 init のみだから影響薄)。","DefaultStrategy 既定値は scene_scale=1.0 で動かしているが、Lego は実 scene scale ~4 程度 (カメラ半径)。30k では \u003Ccode>scene_scale=4.0\u003C\u002Fcode> を試した方が refine しきい値が realistic に。","adapter は 200 行で paper 標準 (l1+ssim, sh3, refine 500-15k) の \u003Cstrong>教育用 minimum\u003C\u002Fstrong> にとどまる。本卒研の論文 Table としては gsplat 公式 simple_trainer を使う方が正統だが、それには COLMAP 変換 (\u003Ccode>pycolmap\u003C\u002Fcode>) が必須で、Lego の場合は \u003Cstrong>transforms_*.json → COLMAP の reverse 変換\u003C\u002Fstrong> をするか、gsplat 公式が将来 Blender path を復活させるのを待つ必要あり。",{"type":69,"level":105,"text":215},"sm 一覧 (確定)",{"type":72,"columns":217,"align":221,"rows":222},[218,219,60,220],"機","GPU","TORCH_CUDA_ARCH_LIST",[77,77,77,77],[223,228,230],[224,225,226,227],"c33","A6000","sm_86","8.6",[229,225,226,227],"c34",[19,231,232,233],"V100","sm_70","7.0",{"type":92,"text":235},"JIT cache はそれぞれ \u003Ccode>~\u002F.cache\u002Ftorch_extensions\u002F...\u003C\u002Fcode> 配下に sm 別 .so が残る。NFS 共有でも cache key に sm が入っているので衝突しない。",{"type":69,"text":237},"6. 再現コマンド (one-liner)",{"type":99,"lang":100,"text":239},"# m3 mac 側\nrsync -avh --ignore-existing \u002FUsers\u002Fotkrickey\u002Fdev\u002F3dgs-workspace\u002Fdatasets\u002Fnerf_synthetic\u002Flego\u002F \\\n  matsudalab-c33:~\u002Fdatasets\u002Fnerf_synthetic\u002Flego\u002F\nscp scripts\u002Fgsplat_lego_smoke.py matsudalab-c32:~\u002Fgsplat_lego_smoke.py\n\n# c32 側\nssh matsudalab-c32 \u003C\u003C 'EOF'\nsource ~\u002Fminiconda3\u002Fetc\u002Fprofile.d\u002Fconda.sh && conda activate gsplat-env\nexport CUDA_VISIBLE_DEVICES=1 TORCH_CUDA_ARCH_LIST=7.0\npython ~\u002Fgsplat_lego_smoke.py \\\n  --data-dir ~\u002Fdatasets\u002Fnerf_synthetic\u002Flego \\\n  --result-dir ~\u002Fruns\u002Fgsplat-lego-1k-smoke --max-steps 1000\nEOF\n",[],[242,261],{"id":30,"title":243,"date":9,"status":10,"polarity":244,"category":245,"axes":246,"tags":247,"task_code":24,"related_runs":252,"delta_psnr":255,"delta_wallclock":256,"rank":257,"verdict":258,"impact_summary":259,"detail_path":260},"c32 V100 原著 3DGS 30k bench — A.5 三層対比表の最終 row & eval convention 乖離 finding","mixed","experiment",[14],[16,248,18,19,20,249,250,251],"original-3dgs","bench","eval-convention","abstraction-cost",[253,254],"orig3dgs-lego-1k-smoke","orig3dgs-lego-30k",28.384,"10m37s","high","investigative","原著 3DGS を V100 で 30k 学習 (PSNR 28.38 dB \u002F 10m37s \u002F 237k splats)。同 V100・同 30k で brush (wgpu→Vulkan) 8m24s \u002F 37.46 dB を上回れず、抽象コスト ≪ 実装最適化レベル を CUDA 機でも再確認。さらに codebase eval と paper-standard eval で 12 dB 乖離 (28.4 vs 14.6) を発見、A.5 表は eval convention 注記必須。","\u002Ffindings\u002Fc32-orig3dgs-bench\u002F",{"id":29,"title":262,"date":263,"status":10,"polarity":264,"category":11,"axes":265,"tags":266,"task_code":24,"related_runs":271,"delta_psnr":-1,"delta_wallclock":272,"rank":33,"verdict":34,"impact_summary":273,"detail_path":274},"c33 CUDA env setup — gsplat \u002F orig 3DGS \u002F brush の 3 env を A6000 + NFS 共有ホームで構築","2026-05-22","neutral",[14],[16,11,20,267,224,17,248,268,269,270,22],"a6000","brush","conda","rust",[],"~18.6 GB disk","c33 (A6000, sm_86) に gsplat-env \u002F orig3dgs-env \u002F Rust + brush の 3 env を build。NFS 共有ホーム経由で c32 \u002F c34 にも継承可能。3 env とも import \u002F --help \u002F --version レベルで動作確認 OK。実 training (Lego 30k) は Phase 2 で。","\u002Ffindings\u002Fc33-cuda-setup-notes\u002F",1782449788620]