-
Notifications
You must be signed in to change notification settings - Fork 2
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
Instances‘ meaning #1
Comments
The |
Thank you for your response. I would like to follow up by asking: what factors determine the number of instances ? For example, is it proportional to the number of threads per GPU, the number of channels, or something else? |
Usually, if you aim for throughput (for large data sizes), you want as many instances as possible. If the data size is small, then you dont want a lot of instances. In practice, different data sizes have different optimal ninstance. People usually switch schedules based on data size. |
Yes, in my understanding, an instance is equivalent to the concept of parallelism, where multiple parallel GPUs execute the collective communication primitive algorithm simultaneously, right? |
The number of GPUs in collective communication is constant regardless of ninstance. Increasing ninstance is increasing the number of parallel threadblocks or SMs executing the schedule. |
Thank you for your response. So, in the XML file called by MSCCL, under each GPU tag, there are multiple thread tags, and the value of |
Hello Sir, I would like to ask about the instance parameter that appears when defining a custom algorithm in MSCCL-TOOLS. However, I have always been unclear about its meaning.
When looking at your code, I noticed the statement for inst in range(ninstance): in the to_xml.py file. I suspect that ninstance represents the number of processes created for each GPU. I am not sure if my understanding is correct.
The text was updated successfully, but these errors were encountered: