LingBot-Map local deployment: CUDA 12.8, FlashInfer, long video 3D reconstruction and graphics memory troubleshooting

LingBot-Map streaming 3D reconstruction tutorial, covering Conda, PyTorch CUDA 12.8, FlashInfer, model download, long video window inference, video memory and KV Cache troubleshooting.

LingBot-Map This tutorial focuses on the specific task in the title. Long video 3D reconstruction is affected by CUDA, PyTorch, FlashInfer, Kaolin, decoding quality and video memory; first use short videos to establish the baseline and then increase the duration.

Below is a demonstration using a test environment and revocable data. When accounts, keys, machine control, investments or emergency communications are involved, manual confirmation must be done.

This section only deals with “It is recommended to start with a standalone Linux environment”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
nvidia-smi

For LingBot-Map, this boundary must be combined when judging the results: 3D reconstruction of long videos is affected by CUDA, PyTorch, FlashInfer, Kaolin, decoding quality and video memory; first use short videos to establish the baseline and then increase the duration.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

CUDA 12.8 Check with the driver first

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
nvidia-smi

The completion standard is to “check CUDA 12.8 and the driver first” to obtain verifiable results, rather than the command just not reporting an error.

Is PyTorch seeing the correct GPU?

Check items Passing criteria Stop signal
Does PyTorch see the correct GPU Input, output, and permission scopes are clear Tools automatically expand the scope of operations
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
python -c "import torch; print(torch.cuda.is_available(), torch.version.cuda)"

When a stop signal appears, resume first and do not continue to the next step.

If FlashInfer installation fails, check the ABI first.

This section only deals with “FlashInfer installation fails, check ABI first”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
python -c "import torch; print(torch.__version__)"

For LingBot-Map, this boundary must be combined when judging the results: 3D reconstruction of long videos is affected by CUDA, PyTorch, FlashInfer, Kaolin, decoding quality and video memory; first use short videos to establish the baseline and then increase the duration.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Kaolin version must match PyTorch

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
python -c "import kaolin; print(kaolin.__version__)"

The completion criterion is that “the Kaolin version must match PyTorch” to obtain verifiable results, rather than that the command just does not report an error.

The first input only uses a ten-second short video

Check items Passing criteria Stop signal
The first input only requires a ten-second short video Input, output and permission ranges are clear The tool automatically expands the scope of operations
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
ffprobe -v error -show_entries format=duration input.mp4

When a stop signal appears, resume first and do not continue to the next step.

How resolution and frame rate affect video memory

This section only deals with “how resolution and frame rate affect video memory”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
ffprobe -v error -show_streams input.mp4

For LingBot-Map, this boundary must be combined when judging the results: 3D reconstruction of long videos is affected by CUDA, PyTorch, FlashInfer, Kaolin, decoding quality and video memory; first use short videos to establish the baseline and then increase the duration.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Video decoding errors are handled separately first

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
ffmpeg -v error -i input.mp4 -f null -

The completion standard is “video decoding errors are processed separately first” to obtain verifiable results, rather than the command just not reporting an error.

Record free video memory before running

Check items Passing criteria Stop signal
Record free video memory before running Clear input, output and permission scope Tool automatically expands the scope of operation
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
nvidia-smi

When a stop signal appears, resume first and do not continue to the next step.

In what order should OOM be reduced?

This section only deals with “in what order to reduce when OOM”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
# 先降帧数,再降分辨率和批次

For LingBot-Map, this boundary must be combined when judging the results: 3D reconstruction of long videos is affected by CUDA, PyTorch, FlashInfer, Kaolin, decoding quality and video memory; first use short videos to establish the baseline and then increase the duration.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Don’t just look at the screenshots for the reconstruction results.

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
Get-ChildItem -Recurse .\outputs -ErrorAction SilentlyContinue

The completion standard is to obtain verifiable results by “not just looking at the screenshots of the reconstruction results”, rather than the command not reporting any errors.

How to judge camera trajectory drift

Check items Passing criteria Stop signal
How to judge camera trajectory drift Clear input, output and permission ranges The tool automatically expands the operating range
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
# 比较起点终点与闭环区域

When a stop signal appears, resume first and do not continue to the next step.

Clear texture does not mean correct geometry

This section only deals with “clear texture does not mean correct geometry”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
# 检查墙角、平面、尺度与孔洞

For LingBot-Map, this boundary must be combined when judging the results: 3D reconstruction of long videos is affected by CUDA, PyTorch, FlashInfer, Kaolin, decoding quality and video memory; first use short videos to establish the baseline and then increase the duration.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Should long videos be segmented or run continuously?

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
# 先比较分段拼接误差

The completion standard is “should the long video be segmented or run continuously” to obtain verifiable results, rather than the command just not reporting an error.

Save environment and input summary

Check items Passing criteria Stop signal
Save environment and input summary Clear input, output and permission scope Tool automatically expands the scope of operation
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
python -m pip freeze

When a stop signal appears, resume first and do not continue to the next step.

Keep reproducible experiments before clearing cache

This section only deals with “preserving reproducible experiments before clearing the cache”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
Get-ChildItem -Recurse .\outputs -ErrorAction SilentlyContinue

For LingBot-Map, this boundary must be combined when judging the results: 3D reconstruction of long videos is affected by CUDA, PyTorch, FlashInfer, Kaolin, decoding quality and video memory; first use short videos to establish the baseline and then increase the duration.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

The impact of rapid camera movement and dynamic objects

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
ffprobe -v error -show_streams input.mp4

The completion standard is to obtain verifiable results from “the impact of rapid camera movement and dynamic objects”, rather than the command not reporting an error.

How to align coordinates of different segmentation results

Check items Passing criteria Stop signal
How to align coordinates of different segmented results Clear input, output and permission ranges Tools automatically expand the scope of operations
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
Get-ChildItem -Recurse .\outputs -ErrorAction SilentlyContinue

When a stop signal appears, resume first and do not continue to the next step.

Check the scale before exporting the final model

This section only deals with “checking scales before final model export”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
# 用已知长度物体对比重建尺度

For LingBot-Map, this boundary must be combined when judging the results: 3D reconstruction of long videos is affected by CUDA, PyTorch, FlashInfer, Kaolin, decoding quality and video memory; first use short videos to establish the baseline and then increase the duration.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Final check of LingBot-Map

  • The versions and sources used are documented.
  • Test input and formal data have been isolated.
  • Commands, configurations and actual output can correspond.
  • The failed path was actively tested at least once.
  • Keys, accounts and private data do not enter Git or logs.
  • There are clear actions for upgrading, stopping and resuming.

If you still cannot explain how the results are produced, continue to keep LingBot-Map in the test environment without expanding the permissions or replacing the existing stable process.