Comments (10)
Glad to hear that. So far I'll be closing this issue for cleaning up the milestone list, but feel free to reopen this when you think you need more.
from chainermn.
And this is my case (similar to that of batch_normalization).
https://github.com/Hakuyume/chainercv/blob/ssd-multi-gpu-train/chainercv/links/model/ssd/multibox_loss.py#L91-L95
I had to handle MPI
module manually.
from chainermn.
@Hakuyume as #237 has been merged, this issue will be addressed at 1.3.0 release. So far only communicator will support allreduce, but do you think you need functions like AllGather ?
To see real use case, the URL of your code ( https://github.com/Hakuyume/chainercv/blob/ssd-multi-gpu-train/chainercv/links/model/ssd/multibox_loss.py#L91-L95 ) has been lost 404 so could you provide latest allreduce code if you still have it somewhere open?
from chainermn.
@kuenishi Thank you for supporting allreduce!
So far only communicator will support allreduce, but do you think you need functions like AllGather ?
For my case, function classes are not required.
To see real use case, the URL of your code ( https://github.com/Hakuyume/chainercv/blob/ssd-multi-gpu-train/chainercv/links/model/ssd/multibox_loss.py#L91-L95 ) has been lost 404 so could you provide latest allreduce code if you still have it somewhere open?
I'm sorry for removing the branch. Here is the latest code.
https://github.com/chainer/chainercv/blob/master/chainercv/links/model/ssd/multibox_loss.py#L91-L95
from chainermn.
@kuenishi Does #237 support reducing cupy.ndarray? According this line, it takes only numpy.ndarray.
from chainermn.
Yes, it is not just documented, but _memory_utility.array_to_buffer_object()
automatically handles both cupy and numpy array objects. It is tested over hierarchical and naive communicator but should work with other communicators. With pure_nccl
communicator it needs stream synchronization before IIRC.
from chainermn.
Thank you.
from chainermn.
Actually it wasn't implemented for cupy.ndarray and now #293 should fix it.
from chainermn.
The allreduce function doesn't seem to use NCCL or am I missing something?
from chainermn.
Hi @ankahira ,
First, this repository is an old one. ChainerMN was merged into Chainer.
Also, Chainer is no longer maintained.
Besides, ChainerMN's PureNcclCommunicator uses NCCL. https://github.com/chainer/chainer/blob/master/chainermn/communicators/pure_nccl_communicator.py#L180
from chainermn.
Related Issues (20)
- Don't inicialize global NCCL comm when HOT 2
- Checkpointer doesn't resume current learning rate HOT 8
- mpirun doesn't exit when exception is thrown in some process HOT 7
- Asynchronous Allreduce HOT 2
- Handle list of dicts in MultiNodeIterator HOT 1
- would you please share hype parameters of GPUs=4 for resnet50 training with us ? HOT 23
- Expose `intra_size`, `inter_rank` and `inter_size` of communicators at readthedocs
- Provide functions for allreduce
- Manual selection for gpus in distributed training HOT 5
- CommunicatorBase.{scatter, allgather} is missing in the document
- Add `force_equal_length` flag to `scatter_dataset` method
- optimizer.setup() created by create_multi_node_optimizer returns an original optimizer HOT 2
- FP16 support HOT 1
- Forcing forkserver spawn earlier HOT 2
- When `in_size=None` is used in `Liner` and it is not used, an error occurs
- NCCL_ERROR_SYSTEM_ERROR: unhandled system error HOT 3
- CUDA streams usage HOT 6
- Non-Blocking Methodology on ChainerMN HOT 3
- Installation should do nothing but omit a warning.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chainermn.