Comments (5)
I can confirm that 1 is true, by adding to the lepage example the call
tf.debugging.set_log_device_placement(True)
and observing that the log never places an operator on GPU:1 but always on GPU:0 (even if nvidia-smi
says that the program is using memory from GPU:1).
Concerning points 2 and 3, I think the best tf-like approach is to do something like this:
@tf.function
def run():
strategy = tf.distribute.MirroredStrategy()
with strategy.scope():
strategy.experimental_run_v2(vegas(lepage, dim, n_iter, ncalls))
i.e. using the tf.distribute
API.
from vegasflow.
A possibility, using MirroredStrategy
https://www.tensorflow.org/api_docs/python/tf/distribute/MirroredStrategy?version=stable, just breaks the integration into equal chunks. Not very useful for distributing. If we want to do it correctly we need to implement something not very far from one of the ones here http://jakascorner.com/blog/2016/06/omp-for-scheduling.html#the-scheduling-types
Which means creating our own strategy.
from vegasflow.
There some projects like https://github.com/horovod/horovod which may help.
from vegasflow.
Let's have a look.
I've been reading more into the Tensorflow distribution strategies and it seems only the keras distribution is implemented and in order to use we have to tie our hands way too much imho.
I think it is better if we deal with it in our own terms for now (and actually don't take it into consideration for the rest of the code) because we can always go to the parallel/joblib strategy.
from vegasflow.
In view of the great shape of #17 , I think we should consider the possibility to inherit from VegasFlow
some extra classes which implement specific distribution techniques such as:
VegasFlow
, default single GPU.TPEVegasFlow
, using theThreadPoolExecutor
fromconcurrent.future
or whatever.SparkVegasFlow
, using Apache Spark.MPIVegasFlow
using openMPI.
from vegasflow.
Related Issues (20)
- AMD issue
- Add Arxiv link to readme
- Add VegasFlow to the AUR
- Stability and future development of package HOT 1
- Log control
- Release of v 1.2 HOT 2
- Python 3.9 support HOT 1
- Add examples of using VegasFlow as a "clever" random number generator.
- Accuracy of integration as target HOT 2
- Simplifying signature not working for PlainFlow HOT 1
- Add documentation for Vegas+
- differentiability/run inside tf.function decorated function HOT 4
- Enable multi-device support for Vegas+
- Specifying integration limits HOT 6
- Pineappl example is obsolete
- Performance issue in src/vegasflow/vflow.py HOT 1
- rpy to tensor HOT 1
- `tensorflow-metal` is not supported, errors when using tf with GPU on a mac - Some of the examples on doc does not work HOT 4
- Dependent integral limits HOT 6
- corss HOT 1
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 vegasflow.