Skip to content

Commit

Permalink
Fix(load_library): When ENABLE_CUSTOMIZED_OP = False, change `op_in…
Browse files Browse the repository at this point in the history
…fo = None` to `op_info = {}` (deepmodeling#3912)

Solve issue deepmodeling#3911 

When I run `examples/water/dpa2` using `dp --pt train input_torch.json`.
An error occurs:
To get the best performance, it is recommended to adjust the number of
threads by setting the environment variables OMP_NUM_THREADS,
DP_INTRA_OP_PARALLELISM_THREADS, and DP_INTER_OP_PARALLELISM_THREADS.
See https://deepmd.rtfd.io/parallelism/ for more information.
[2024-06-26 07:53:43,325] DEEPMD INFO DeepMD version:
2.2.0b1.dev892+g73dab63f.d20240612
[2024-06-26 07:53:43,325] DEEPMD INFO Configuration path:
input_torch.json
Traceback (most recent call last):
File "/home/data/zhangcq/conda_env/deepmd-pt-1026/bin/dp", line 8, in
<module>
    sys.exit(main())
File "/home/data/zcq/deepmd-source/deepmd-kit/deepmd/main.py", line 842,
in main
    deepmd_main(args)
File
"/home/data/zhangcq/conda_env/deepmd-pt-1026/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py",
line 346, in wrapper
    return f(*args, **kwargs)
File
"/home/data/zcq/deepmd-source/deepmd-kit/deepmd/pt/entrypoints/main.py",
line 384, in main
    train(FLAGS)
File
"/home/data/zcq/deepmd-source/deepmd-kit/deepmd/pt/entrypoints/main.py",
line 223, in train
    SummaryPrinter()()
File "/home/data/zcq/deepmd-source/deepmd-kit/deepmd/utils/summary.py",
line 62, in __call__
    build_info.update(self.get_backend_info())
File
"/home/data/zcq/deepmd-source/deepmd-kit/deepmd/pt/entrypoints/main.py",
line 213, in get_backend_info
    return {
TypeError: 'NoneType' object is not a mapping

This bug is made by PR deepmodeling#3895 

![20240626-160240](https://github.com/deepmodeling/deepmd-kit/assets/100290172/92008b01-1e3d-437d-a09e-cc74b2da6412)
When `op_info` is `None`, `{**op_info}` will raise error. Changing
`op_info = None` to `op_info = {}` will solve the issue.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved system stability by initializing `op_info` as an empty
dictionary instead of `None`, preventing potential runtime errors.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • Loading branch information
Chengqian-Zhang authored Jun 26, 2024
1 parent 2f18f04 commit 17cdcb0
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion deepmd/pt/entrypoints/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ def get_backend_info(self) -> dict:
"build with PT lib": GLOBAL_CONFIG["pt_libs"].replace(";", "\n"),
}
else:
op_info = None
op_info = {}
return {
"Backend": "PyTorch",
"PT ver": f"v{torch.__version__}-g{torch.version.git_version[:11]}",
Expand Down

0 comments on commit 17cdcb0

Please sign in to comment.