# Why is Python, not Julia, still used for most state-of-the-art AI research?

**URL:** <https://discourse.julialang.org/t/why-is-python-not-julia-still-used-for-most-state-of-the-art-ai-research/45896>\
**Category:** Offtopic\
**Tags:** knet, flux, machine-learning, mlj, sciml\
**Created:** [September 1, 2020, 1:49pm UTC](https://discourse.julialang.org/t/why-is-python-not-julia-still-used-for-most-state-of-the-art-ai-research/45896 "2020-09-01T13:49:21Z")\
**Posts on this page:** 1\
**Showing post:** 25

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [September 1, 2020, 9:06pm UTC](https://discourse.julialang.org/t/why-is-python-not-julia-still-used-for-most-state-of-the-art-ai-research/45896/25 "2020-09-01T21:06:06Z")

</div>

> [@ToucheSir](#):
>
> Distributed and multi-gpu training: […] CliMA is the only public project I know of that has distributed GPU support, but it’s not DL

FYI: I see multi-GPU done (while I guess not Distributed, then) in 2018, with Flux:

> [@Multiple GPUs with Julia](https://discourse.julialang.org/t/multiple-gpus-with-julia/11248/2):
>
> Yes, I use Flux with multiple GPUs. But my approach is not elegant. In CUDAnative (commit f60c4754356225151c866da0ca512b434aa03abd) in src/CUDAnative.jl on line 75 I replaced default\_device[] = CuDevice(0) with dev = haskey(ENV, "CUDADEV") ? parse(ENV["CUDADEV"]) : 0; default\_device[] = CuDevice(dev), after which I can (in bash) export CUDADEV=1 && julia to open a julia session with CUDAnative using GPU 1.

Also interesting:

> [@Flux vs Tensorflow training performance comparison?](https://discourse.julialang.org/t/flux-vs-tensorflow-training-performance-comparison/32926/2):
>
> The most recent benchmarks I’ve found have shown Flux a bit faster: though I would expect that not to be the case when deploying to large multi-GPU sessions, which is where TensorFlow shines. Though I do also know of [http://denizyuret.github.io/Knet.jl/latest/tutorial/#Benchmarks-1](http://denizyuret.github.io/Knet.jl/latest/tutorial/#Benchmarks-1) By all accounts, KNet is one of the fastest out there (and notice the Knet benchmarks were not written or ran by the Knet authors. They weren’t even written/ran by regular Julia users!), and Flux lags a bit b…

> **[Estadistika](https://estadistika.github.io//julia/python/packages/knet/flux/tensorflow/machine-learning/deep-learning/2019/06/20/Deep-Learning-Exploring-High-Level-APIs-of-Knet.jl-and-Flux.jl-in-comparison-to-Tensorflow-Keras.html)**
>
> statistics, data science, machine/deep learning

On the Nvidia blog in 2017:

> On average, the CUDAnative.jl ports perform identical to statically compiled CUDA C++ (the difference is ~2% in favor of CUDAnative.jl, excluding nn).

---

_[View the full topic](https://discourse.julialang.org/t/why-is-python-not-julia-still-used-for-most-state-of-the-art-ai-research/45896)._
