Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run GptSession without openmpi? #1220

Closed
haohuanw opened this issue Mar 3, 2024 · 4 comments
Closed

Run GptSession without openmpi? #1220

haohuanw opened this issue Mar 3, 2024 · 4 comments
Assignees

Comments

@haohuanw
Copy link

haohuanw commented Mar 3, 2024

I have some relatively basic use cases (no parallelism) that I am able to run in environments that doesn't have MPI installed. However, i found that since 0130 release #1019 MPI is force initialized in this function call: https://github.com/NVIDIA/TensorRT-LLM/blob/main/cpp/tensorrt_llm/runtime/gptSession.cpp#L191-L192 which prevents me to do a trt-llm upgrade.

since this function is part of closed source, is it possible to update the function to not initialize MPI when it is not necessary?

@haohuanw haohuanw changed the title Run TRT-LLM without openmpi? Run GptSession without openmpi? Mar 3, 2024
@MartinMarciniszyn
Copy link
Collaborator

The code reference seems outdated. @haohuanw , can you please post the snippet that forces the MPI initialization? Generally, the code base is tightly integrated with MPI. If it is an option, the easy way forward would be installing MPI in your environment. Also, note that GptSession will not be actively maintained going forward. The official entry point in the API will be the Executor class.

@haohuanw
Copy link
Author

haohuanw commented Mar 7, 2024

basically KVCacheManager forces a MPI.SESSION initialize starting #1019 releases.

Previously, i just need to make sure WorldConfig is not constructed with mpi static function and it actually works fine.

@haohuanw
Copy link
Author

@MartinMarciniszyn i had a chance to check new executor interface. to me it seems that if i can fake a Communicator class what i am looking for will be fulfilled.

i currently see that there are no method in communicator that i can override, do you know when would that happen?

@MartinMarciniszyn
Copy link
Collaborator

The code in KV Cache Manager has been modified. It should not require initialization of MPI for single device setups anymore. This will be released next Tuesday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants