question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

TensorFlow can find GPU but JAX can't?

See original GitHub issue

Sorry if this has already been asked, but I’m running into a problem where JAX can’t find my GPU:

venv/lib/python3.7/site-packages/jax/lib/xla_bridge.py:130: UserWarning: No GPU/TPU found, falling back to CPU.

However, TensorFlow has no problem finding the GPU. When I run tf.config.list_physical_devices('GPU'), I get the following output:

2020-12-28 20:31:33.309894: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x5646344172e0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2020-12-28 20:31:33.309918: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Tesla V100-PCIE-32GB, Compute Capability 7.0
2020-12-28 20:31:33.311146: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties:
pciBusID: 0000:d8:00.0 name: Tesla V100-PCIE-32GB computeCapability: 7.0
coreClock: 1.38GHz coreCount: 80 deviceMemorySize: 31.75GiB deviceMemoryBandwidth: 836.37GiB/s
2020-12-28 20:31:33.311171: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
2020-12-28 20:31:33.311201: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcublas.so.10
2020-12-28 20:31:33.311211: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcufft.so.10
2020-12-28 20:31:33.311220: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcurand.so.10
2020-12-28 20:31:33.311229: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusolver.so.10
2020-12-28 20:31:33.311238: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusparse.so.10
2020-12-28 20:31:33.311248: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudnn.so.7
2020-12-28 20:31:33.313354: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1858] Adding visible gpu devices: 0
2020-12-28 20:31:33.313382: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
2020-12-28 20:31:33.850156: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1257] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-12-28 20:31:33.850186: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1263]      0
2020-12-28 20:31:33.850192: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1276] 0:   N
2020-12-28 20:31:33.852686: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1402] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 30132 MB memory) -> physical GPU (device: 0, name: Tesla V100-PCIE-32GB, pci bus id: 0000:d8:00.0, compute capability: 7.0)

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:10

github_iconTop GitHub Comments

1reaction
jakevdpcommented, Dec 29, 2020

I found that running

pip install pip==20.3.3
pip install --upgrade jax jaxlib==0.1.52+cuda101 -f https://storage.googleapis.com/jax-releases/jax_releases.html

reproduces the different version in metadata error, but using older versions of pip do not result in this error. For example, this installs correctly:

pip install pip==20.2.4
pip install --upgrade jax jaxlib==0.1.52+cuda101 -f https://storage.googleapis.com/jax-releases/jax_releases.html

I suspect that the pip 20.3 dependency resolver places stricter requirements on the contents of package metadata.

0reactions
jakevdpcommented, Dec 29, 2020

I don’t know of any workaround, but others might.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Jax doesn't see my GPU, even though Pytorch does #5231
Now Jax seems to be installed (at least various numpy-compatible functions do), but not to the point where it appears to see my...
Read more >
Why does my JAX + Haiku code don't run on GPU?
I just started learning JAX and Haiku but I can't run my code on GPU. I ran my code in Google Colab and...
Read more >
Install TensorFlow with pip
Step-by-step instructions · 1. System requirements · 2. Install Miniconda · 3. Create a conda environment · 4. GPU setup · 5. Install...
Read more >
JAX Frequently Asked Questions (FAQ)
By default, JAX arrays are placed uncommitted on the default device ( jax.devices()[0] ), which is the first GPU or TPU by default....
Read more >
Can't get Tensorflow + GPU working. : r/NixOS
Really loving nix flakes so far but this is the one area I remain lost in. Wish TensorFlow/PyTorch/JAX GPU support was easier.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found