cannot find libdevice

Hi
Jax cannot find libdevice.
I'm running Python 3.7 with cuda 10.0 on my personal laptop qwith a GeForce RTX 2080.
I installed jax using pip.
I made a little test script shown below
import os
os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/home/murphyk/miniconda3/lib"
os.environ["CUDA_HOME"]="/usr"

import jax
import jax.numpy as np
print("jax version {}".format(jax.__version__))
from jax.lib import xla_bridge
print("jax backend {}".format(xla_bridge.get_backend().platform))

from jax import random
key = random.PRNGKey(0)
x = random.normal(key, (5,5))
print(x)

The output is shown below.
jax version 0.1.39
jax backend gpu
2019-07-07 16:44:03.905071: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc:105] Unknown compute capability (7, 5) .Defaulting to libdevice for compute_20
Traceback (most recent call last):

  File "<ipython-input-15-e39e42274024>", line 1, in <module>
    runfile('/home/murphyk/github/pyprobml/scripts/jax_debug.py', wdir='/home/murphyk/github/pyprobml/scripts')

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 827, in runfile
    execfile(filename, namespace)

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "/home/murphyk/github/pyprobml/scripts/jax_debug.py", line 18, in <module>
    x = random.normal(key, (5,5))

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/random.py", line 389, in normal
    return _normal(key, shape, dtype)

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/api.py", line 123, in f_jitted
    out = xla.xla_call(flat_fun, *args_flat, device_values=device_values)

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/core.py", line 663, in call_bind
    ans = primitive.impl(f, *args, **params)

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py", line 606, in xla_call_impl
    compiled_fun = xla_callable(fun, device_values, *map(abstractify, args))

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/linear_util.py", line 208, in memoized_fun
    ans = call(f, *args)

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py", line 621, in xla_callable
    compiled, result_shape = compile_jaxpr(jaxpr, consts, *abstract_args)

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py", line 207, in compile_jaxpr
    backend=xb.get_backend()), result_shape

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py", line 535, in Compile
    return backend.compile(self.computation, compile_options)

  File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py", line 118, in compile
    compile_options.device_assignment)

RuntimeError: Not found: ./libdevice.compute_20.10.bc not found

I think I want it to find this file
/home/murphyk/miniconda3/lib/libdevice.10.bc

I tried
 export XLA_FLAGS="--xla_gpu_cuda_data_dir=/home/murphyk/miniconda3/lib"

to no avail.

or maybe this file?
/usr/lib/nvidia-cuda-toolkit/libdevice/libdevice.10.bc

How did you install CUDA? What operating system and what release is this?

This is a tensorbook running ubuntu 18.04.
It is prebundled with cuda 10.0 installed by vendor:
https://lambdalabs.com/lambda-stack-deep-learning-software
I forgot to mention that  both torch and tf2 can find the GPU.
Below is some diagnostics from TF. Is there a way for jax to "piggy back"
off the TF GPU support?
import tensorflow as tf
from tensorflow import keras
print("tf version {}".format(tf.version))
if tf.test.is_gpu_available():
print(tf.test.gpu_device_name())
else:
print("TF cannot find GPU")
tf version 2.0.0-beta1
/device:GPU:0
2019-07-08 08:37:58.187392: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.188242: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.188295: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.188306: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.188314: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.188322: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.188365: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.188373: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.188383: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.188425: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.189732: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.190444: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.190461: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.190484: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.190488: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.190682: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.191461: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.192553: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
2019-07-08 08:37:58.193098: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.194157: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.194200: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.194211: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.194219: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.194227: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.194241: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.194250: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.194276: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.194347: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.195272: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.196356: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.196380: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.196388: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.196393: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.196735: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.197553: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.198262: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
On Mon, Jul 8, 2019 at 6:33 AM Peter Hawkins<EMAIL_ADDRESS>wrote:

How did you install CUDA? What operating system and what release is this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/jax/issues/989?email_source=notifications&email_token=ABDK6EFFPNQ37F76R4EBRZLP6M6ZHA5CNFSM4H6W4E52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZNC5QI#issuecomment-509226689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDK6EBTI6P5N5KTM2KAMQDP6M6ZHANCNFSM4H6W4E5Q
.

What's also weird is that JAX says it can find the GPU but when I try to
run some actual code, I get the libdevice error:
import os
...:
os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/home/murphyk/miniconda3/lib"
...: import jax
...: import jax.numpy as np
...: from jax import grad, jacfwd, jacrev, jit, vmap
...: from jax.experimental import optimizers
...: print("jax version {}".format(jax.version))
...: from jax.lib import xla_bridge
...: print("jax backend {}".format(xla_bridge.get_backend().platform))
jax version 0.1.39
jax backend gpu
In [4]: from jax import random
...: key = random.PRNGKey(0)
...: x = random.normal(key, (5,5))
2019-07-08 08:40:15.551685: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:129]
Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice. This may result
in compilation or runtime failures, if the program we try to run uses
routines from libdevice.
2019-07-08 08:40:15.551706: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:130]
Searched for CUDA in the following directories:
2019-07-08 08:40:15.551710: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
/home/murphyk/miniconda3/lib
2019-07-08 08:40:15.551713: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
/usr/local/cuda
2019-07-08 08:40:15.551715: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
.
2019-07-08 08:40:15.551718: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:135]
You can choose the search directory by setting xla_gpu_cuda_data_dir in
HloModule's DebugOptions. For most apps, setting the environment variable
XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda will work.
2019-07-08 08:40:16.203818: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc:105]
Unknown compute capability (7, 5) .Defaulting to libdevice for compute_20
Traceback (most recent call last):
File "", line 3, in
x = random.normal(key, (5,5))
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/random.py",
line 389, in normal
return _normal(key, shape, dtype)
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/api.py",
line 123, in f_jitted
out = xla.xla_call(flat_fun, *args_flat, device_values=device_values)
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/core.py",
line 663, in call_bind
ans = primitive.impl(f, *args, **params)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 606, in xla_call_impl
compiled_fun = xla_callable(fun, device_values, *map(abstractify, args))
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/linear_util.py",
line 208, in memoized_fun
ans = call(f, *args)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 621, in xla_callable
compiled, result_shape = compile_jaxpr(jaxpr, consts, *abstract_args)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 207, in compile_jaxpr
backend=xb.get_backend()), result_shape
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py",
line 535, in Compile
return backend.compile(self.computation, compile_options)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py",
line 118, in compile
compile_options.device_assignment)
RuntimeError: Not found: ./libdevice.compute_20.10.bc not found
In [5]:
In [5]:
On Mon, Jul 8, 2019 at 8:46 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

This is a tensorbook running ubuntu 18.04.
It is prebundled with cuda 10.0 installed by vendor:
https://lambdalabs.com/lambda-stack-deep-learning-software
I forgot to mention that  both torch and tf2 can find the GPU.
Below is some diagnostics from TF. Is there a way for jax to "piggy back"
off the TF GPU support?
import tensorflow as tf
from tensorflow import keras
print("tf version {}".format(tf.version))
if tf.test.is_gpu_available():
print(tf.test.gpu_device_name())
else:
print("TF cannot find GPU")
tf version 2.0.0-beta1
/device:GPU:0
2019-07-08 08:37:58.187392: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.188242: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.188295: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.188306: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.188314: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.188322: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.188365: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.188373: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.188383: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.188425: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.189732: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.190444: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.190461: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.190484: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.190488: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.190682: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.191461: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.192553: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
2019-07-08 08:37:58.193098: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.194157: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.194200: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.194211: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.194219: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.194227: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.194241: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.194250: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.194276: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.194347: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.195272: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.196356: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.196380: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.196388: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.196393: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.196735: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.197553: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.198262: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
On Mon, Jul 8, 2019 at 6:33 AM Peter Hawkins<EMAIL_ADDRESS>wrote:

How did you install CUDA? What operating system and what release is this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/jax/issues/989?email_source=notifications&email_token=ABDK6EFFPNQ37F76R4EBRZLP6M6ZHA5CNFSM4H6W4E52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZNC5QI#issuecomment-509226689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDK6EBTI6P5N5KTM2KAMQDP6M6ZHANCNFSM4H6W4E5Q
.

One more thing. When I turn my GPU off (*), JAX falls back to CPU and then
it works like a charm.
It would be great if the user could choose which mode JAX uses from within
Python, without having to turn the GPU off.
(*) I don't literally turn the GPU off - I don't even know how to do that!
I simply open a browser before I open python.
The browser seems to "lock up" the GPU and then all of torch, tf or jax say
the GPU is unavailable.
This is actually pretty annoying, and the only fix I have found so far
seems to be to type 'shutdown -h now'
and then start my python IDE before my browser. (Do you know a better way?)
But this is not a JAX issue, of course :)
On Mon, Jul 8, 2019 at 8:47 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

What's also weird is that JAX says it can find the GPU but when I try to
run some actual code, I get the libdevice error:
import os
...:
os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/home/murphyk/miniconda3/lib"
...: import jax
...: import jax.numpy as np
...: from jax import grad, jacfwd, jacrev, jit, vmap
...: from jax.experimental import optimizers
...: print("jax version {}".format(jax.version))
...: from jax.lib import xla_bridge
...: print("jax backend {}".format(xla_bridge.get_backend().platform))
jax version 0.1.39
jax backend gpu
In [4]: from jax import random
...: key = random.PRNGKey(0)
...: x = random.normal(key, (5,5))
2019-07-08 08:40:15.551685: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:129]
Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice. This may result
in compilation or runtime failures, if the program we try to run uses
routines from libdevice.
2019-07-08 08:40:15.551706: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:130]
Searched for CUDA in the following directories:
2019-07-08 08:40:15.551710: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
/home/murphyk/miniconda3/lib
2019-07-08 08:40:15.551713: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
/usr/local/cuda
2019-07-08 08:40:15.551715: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
.
2019-07-08 08:40:15.551718: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:135]
You can choose the search directory by setting xla_gpu_cuda_data_dir in
HloModule's DebugOptions. For most apps, setting the environment variable
XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda will work.
2019-07-08 08:40:16.203818: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc:105]
Unknown compute capability (7, 5) .Defaulting to libdevice for compute_20
Traceback (most recent call last):
File "", line 3, in
x = random.normal(key, (5,5))
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/random.py",
line 389, in normal
return _normal(key, shape, dtype)
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/api.py",
line 123, in f_jitted
out = xla.xla_call(flat_fun, *args_flat, device_values=device_values)
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/core.py",
line 663, in call_bind
ans = primitive.impl(f, *args, **params)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 606, in xla_call_impl
compiled_fun = xla_callable(fun, device_values, *map(abstractify, args))
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/linear_util.py",
line 208, in memoized_fun
ans = call(f, *args)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 621, in xla_callable
compiled, result_shape = compile_jaxpr(jaxpr, consts, *abstract_args)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 207, in compile_jaxpr
backend=xb.get_backend()), result_shape
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py",
line 535, in Compile
return backend.compile(self.computation, compile_options)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py",
line 118, in compile
compile_options.device_assignment)
RuntimeError: Not found: ./libdevice.compute_20.10.bc not found
In [5]:
In [5]:
On Mon, Jul 8, 2019 at 8:46 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

This is a tensorbook running ubuntu 18.04.
It is prebundled with cuda 10.0 installed by vendor:
https://lambdalabs.com/lambda-stack-deep-learning-software
I forgot to mention that  both torch and tf2 can find the GPU.
Below is some diagnostics from TF. Is there a way for jax to "piggy back"
off the TF GPU support?
import tensorflow as tf
from tensorflow import keras
print("tf version {}".format(tf.version))
if tf.test.is_gpu_available():
print(tf.test.gpu_device_name())
else:
print("TF cannot find GPU")
tf version 2.0.0-beta1
/device:GPU:0
2019-07-08 08:37:58.187392: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.188242: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.188295: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.188306: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.188314: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.188322: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.188365: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.188373: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.188383: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.188425: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.189732: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.190444: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.190461: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.190484: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.190488: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.190682: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.191461: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.192553: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
2019-07-08 08:37:58.193098: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.194157: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.194200: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.194211: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.194219: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.194227: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.194241: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.194250: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.194276: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.194347: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.195272: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.196356: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.196380: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.196388: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.196393: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.196735: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.197553: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.198262: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
On Mon, Jul 8, 2019 at 6:33 AM Peter Hawkins<EMAIL_ADDRESS>wrote:

How did you install CUDA? What operating system and what release is this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/jax/issues/989?email_source=notifications&email_token=ABDK6EFFPNQ37F76R4EBRZLP6M6ZHA5CNFSM4H6W4E52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZNC5QI#issuecomment-509226689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDK6EBTI6P5N5KTM2KAMQDP6M6ZHANCNFSM4H6W4E5Q
.

To summarize, this is the error JAX produces
2019-07-08 10:24:47.184009: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc:105]
Unknown compute capability (7, 5) .Defaulting to libdevice for compute_20
...
RuntimeError: Not found: ./libdevice.compute_20.10.bc not found
I do have libdevice.10.bc installed (in several places),
locate libdevice
/usr/lib/nvidia-cuda-toolkit/libdevice/libdevice.10.bc
/home/murphyk/miniconda3/lib/libdevice.10.bc
I've tried setting
#os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/home/murphyk/miniconda3/lib"
#os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/usr/lib"
#os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/usr/lib/nvidia-cuda-toolkit"
#os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/usr"
None work. I decided to look at the file nvptx_backend_lib.cc (possibly
installed by TF, not JAX, not sure).
locate nvptx_backend_lib.cc
/home/murphyk/.cache/bazel/_bazel_murphyk/87cf5205cc24305d7da6a4fb49af7044/external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc
And searched for the string "Defaulting to libdevice..."
but could not find it! Instead I find
"Defaulting to telling LLVM that we're compiling for sm_"
<< sm_version;
The source code actually lists {7,5} as a valid combination.
So I don;t know why JAX says "Unknown compute capability (7, 5) " - its in
the lookup table.
Maybe JAX wheel is compiled with an older version of this file?
On Mon, Jul 8, 2019 at 8:52 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

One more thing. When I turn my GPU off (*), JAX falls back to CPU and then
it works like a charm.
It would be great if the user could choose which mode JAX uses from within
Python, without having to turn the GPU off.
(*) I don't literally turn the GPU off - I don't even know how to do that!
I simply open a browser before I open python.
The browser seems to "lock up" the GPU and then all of torch, tf or jax
say the GPU is unavailable.
This is actually pretty annoying, and the only fix I have found so far
seems to be to type 'shutdown -h now'
and then start my python IDE before my browser. (Do you know a better way?)
But this is not a JAX issue, of course :)
On Mon, Jul 8, 2019 at 8:47 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

What's also weird is that JAX says it can find the GPU but when I try to
run some actual code, I get the libdevice error:
import os
...:
os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/home/murphyk/miniconda3/lib"
...: import jax
...: import jax.numpy as np
...: from jax import grad, jacfwd, jacrev, jit, vmap
...: from jax.experimental import optimizers
...: print("jax version {}".format(jax.version))
...: from jax.lib import xla_bridge
...: print("jax backend {}".format(xla_bridge.get_backend().platform))
jax version 0.1.39
jax backend gpu
In [4]: from jax import random
...: key = random.PRNGKey(0)
...: x = random.normal(key, (5,5))
2019-07-08 08:40:15.551685: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:129]
Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice. This may result
in compilation or runtime failures, if the program we try to run uses
routines from libdevice.
2019-07-08 08:40:15.551706: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:130]
Searched for CUDA in the following directories:
2019-07-08 08:40:15.551710: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
/home/murphyk/miniconda3/lib
2019-07-08 08:40:15.551713: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
/usr/local/cuda
2019-07-08 08:40:15.551715: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
.
2019-07-08 08:40:15.551718: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:135]
You can choose the search directory by setting xla_gpu_cuda_data_dir in
HloModule's DebugOptions. For most apps, setting the environment variable
XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda will work.
2019-07-08 08:40:16.203818: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc:105]
Unknown compute capability (7, 5) .Defaulting to libdevice for compute_20
Traceback (most recent call last):
File "", line 3, in
x = random.normal(key, (5,5))
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/random.py",
line 389, in normal
return _normal(key, shape, dtype)
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/api.py",
line 123, in f_jitted
out = xla.xla_call(flat_fun, *args_flat, device_values=device_values)
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/core.py",
line 663, in call_bind
ans = primitive.impl(f, *args, **params)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 606, in xla_call_impl
compiled_fun = xla_callable(fun, device_values, *map(abstractify, args))
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/linear_util.py",
line 208, in memoized_fun
ans = call(f, *args)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 621, in xla_callable
compiled, result_shape = compile_jaxpr(jaxpr, consts, *abstract_args)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 207, in compile_jaxpr
backend=xb.get_backend()), result_shape
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py",
line 535, in Compile
return backend.compile(self.computation, compile_options)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py",
line 118, in compile
compile_options.device_assignment)
RuntimeError: Not found: ./libdevice.compute_20.10.bc not found
In [5]:
In [5]:
On Mon, Jul 8, 2019 at 8:46 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

This is a tensorbook running ubuntu 18.04.
It is prebundled with cuda 10.0 installed by vendor:
https://lambdalabs.com/lambda-stack-deep-learning-software
I forgot to mention that  both torch and tf2 can find the GPU.
Below is some diagnostics from TF. Is there a way for jax to "piggy
back" off the TF GPU support?
import tensorflow as tf
from tensorflow import keras
print("tf version {}".format(tf.version))
if tf.test.is_gpu_available():
print(tf.test.gpu_device_name())
else:
print("TF cannot find GPU")
tf version 2.0.0-beta1
/device:GPU:0
2019-07-08 08:37:58.187392: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.188242: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.188295: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.188306: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.188314: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.188322: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.188365: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.188373: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.188383: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.188425: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.189732: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.190444: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.190461: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.190484: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.190488: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.190682: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.191461: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.192553: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
2019-07-08 08:37:58.193098: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.194157: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.194200: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.194211: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.194219: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.194227: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.194241: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.194250: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.194276: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.194347: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.195272: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.196356: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.196380: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.196388: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.196393: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.196735: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.197553: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.198262: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
On Mon, Jul 8, 2019 at 6:33 AM Peter Hawkins<EMAIL_ADDRESS>wrote:

How did you install CUDA? What operating system and what release is
this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/jax/issues/989?email_source=notifications&email_token=ABDK6EFFPNQ37F76R4EBRZLP6M6ZHA5CNFSM4H6W4E52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZNC5QI#issuecomment-509226689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDK6EBTI6P5N5KTM2KAMQDP6M6ZHANCNFSM4H6W4E5Q
.

The folks at Lambda (maker of my TensorBook laptop) looked at the source
code and suggested this fix:
mkdir -p ~/xla/nvvm/libdevice
cp /usr/lib/nvidia-cuda-toolkit/libdevice/libdevice.10.bc
~/xla/nvvm/libdevice
export XLA_FLAGS="--xla_gpu_cuda_data_dir=/home/murphyk/xla"

This actually works :)
Maybe worth updating the set of locations that JAX searches for
libdevice.10.bc?
On Mon, Jul 8, 2019 at 10:41 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

To summarize, this is the error JAX produces
2019-07-08 10:24:47.184009: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc:105]
Unknown compute capability (7, 5) .Defaulting to libdevice for compute_20
...
RuntimeError: Not found: ./libdevice.compute_20.10.bc not found
I do have libdevice.10.bc installed (in several places),
locate libdevice
/usr/lib/nvidia-cuda-toolkit/libdevice/libdevice.10.bc
/home/murphyk/miniconda3/lib/libdevice.10.bc
I've tried setting
#os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/home/murphyk/miniconda3/lib"
#os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/usr/lib"
#os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/usr/lib/nvidia-cuda-toolkit"
#os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/usr"
None work. I decided to look at the file nvptx_backend_lib.cc (possibly
installed by TF, not JAX, not sure).
locate nvptx_backend_lib.cc
/home/murphyk/.cache/bazel/_bazel_murphyk/87cf5205cc24305d7da6a4fb49af7044/external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc
And searched for the string "Defaulting to libdevice..."
but could not find it! Instead I find
"Defaulting to telling LLVM that we're compiling for sm_"
<< sm_version;
The source code actually lists {7,5} as a valid combination.
So I don;t know why JAX says "Unknown compute capability (7, 5) " - its in
the lookup table.
Maybe JAX wheel is compiled with an older version of this file?
On Mon, Jul 8, 2019 at 8:52 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

One more thing. When I turn my GPU off (*), JAX falls back to CPU and
then it works like a charm.
It would be great if the user could choose which mode JAX uses from
within Python, without having to turn the GPU off.
(*) I don't literally turn the GPU off - I don't even know how to do
that! I simply open a browser before I open python.
The browser seems to "lock up" the GPU and then all of torch, tf or jax
say the GPU is unavailable.
This is actually pretty annoying, and the only fix I have found so far
seems to be to type 'shutdown -h now'
and then start my python IDE before my browser. (Do you know a better
way?)
But this is not a JAX issue, of course :)
On Mon, Jul 8, 2019 at 8:47 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

What's also weird is that JAX says it can find the GPU but when I try to
run some actual code, I get the libdevice error:
import os
...:
os.environ["XLA_FLAGS"]="--xla_gpu_cuda_data_dir=/home/murphyk/miniconda3/lib"
...: import jax
...: import jax.numpy as np
...: from jax import grad, jacfwd, jacrev, jit, vmap
...: from jax.experimental import optimizers
...: print("jax version {}".format(jax.version))
...: from jax.lib import xla_bridge
...: print("jax backend
{}".format(xla_bridge.get_backend().platform))
jax version 0.1.39
jax backend gpu
In [4]: from jax import random
...: key = random.PRNGKey(0)
...: x = random.normal(key, (5,5))
2019-07-08 08:40:15.551685: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:129]
Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice. This may result
in compilation or runtime failures, if the program we try to run uses
routines from libdevice.
2019-07-08 08:40:15.551706: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:130]
Searched for CUDA in the following directories:
2019-07-08 08:40:15.551710: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
/home/murphyk/miniconda3/lib
2019-07-08 08:40:15.551713: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
/usr/local/cuda
2019-07-08 08:40:15.551715: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:133]
.
2019-07-08 08:40:15.551718: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:135]
You can choose the search directory by setting xla_gpu_cuda_data_dir in
HloModule's DebugOptions. For most apps, setting the environment variable
XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda will work.
2019-07-08 08:40:16.203818: W
external/org_tensorflow/tensorflow/compiler/xla/service/gpu/llvm_gpu_backend/nvptx_backend_lib.cc:105]
Unknown compute capability (7, 5) .Defaulting to libdevice for compute_20
Traceback (most recent call last):
File "", line 3, in
x = random.normal(key, (5,5))
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/random.py",
line 389, in normal
return _normal(key, shape, dtype)
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/api.py",
line 123, in f_jitted
out = xla.xla_call(flat_fun, *args_flat, device_values=device_values)
File "/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/core.py",
line 663, in call_bind
ans = primitive.impl(f, *args, **params)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 606, in xla_call_impl
compiled_fun = xla_callable(fun, device_values, *map(abstractify, args))
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/linear_util.py",
line 208, in memoized_fun
ans = call(f, *args)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 621, in xla_callable
compiled, result_shape = compile_jaxpr(jaxpr, consts, *abstract_args)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jax/interpreters/xla.py",
line 207, in compile_jaxpr
backend=xb.get_backend()), result_shape
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py",
line 535, in Compile
return backend.compile(self.computation, compile_options)
File
"/home/murphyk/miniconda3/lib/python3.7/site-packages/jaxlib/xla_client.py",
line 118, in compile
compile_options.device_assignment)
RuntimeError: Not found: ./libdevice.compute_20.10.bc not found
In [5]:
In [5]:
On Mon, Jul 8, 2019 at 8:46 AM Kevin Murphy<EMAIL_ADDRESS>wrote:

This is a tensorbook running ubuntu 18.04.
It is prebundled with cuda 10.0 installed by vendor:
https://lambdalabs.com/lambda-stack-deep-learning-software
I forgot to mention that  both torch and tf2 can find the GPU.
Below is some diagnostics from TF. Is there a way for jax to "piggy
back" off the TF GPU support?
import tensorflow as tf
from tensorflow import keras
print("tf version {}".format(tf.version))
if tf.test.is_gpu_available():
print(tf.test.gpu_device_name())
else:
print("TF cannot find GPU")
tf version 2.0.0-beta1
/device:GPU:0
2019-07-08 08:37:58.187392: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.188242: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.188295: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.188306: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.188314: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.188322: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.188365: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.188373: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.188383: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.188425: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.189732: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.190444: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.190461: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.190484: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.190488: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.190682: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.191461: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.192553: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
2019-07-08 08:37:58.193098: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.194157: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with
properties:
name: GeForce RTX 2080 with Max-Q Design major: 7 minor: 5
memoryClockRate(GHz): 1.095
pciBusID: 0000:01:00.0
2019-07-08 08:37:58.194200: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudart.so.10.0
2019-07-08 08:37:58.194211: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcublas.so.10.0
2019-07-08 08:37:58.194219: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcufft.so.10.0
2019-07-08 08:37:58.194227: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcurand.so.10.0
2019-07-08 08:37:58.194241: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusolver.so.10.0
2019-07-08 08:37:58.194250: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcusparse.so.10.0
2019-07-08 08:37:58.194276: I
tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully
opened dynamic library libcudnn.so.7
2019-07-08 08:37:58.194347: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.195272: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.196356: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu
devices: 0
2019-07-08 08:37:58.196380: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect
StreamExecutor with strength 1 edge matrix:
2019-07-08 08:37:58.196388: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-07-08 08:37:58.196393: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-07-08 08:37:58.196735: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.197553: I
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA
node read from SysFS had negative value (-1), but there must be at least
one NUMA node, so returning NUMA node zero
2019-07-08 08:37:58.198262: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow
device (/device:GPU:0 with 6694 MB memory) -> physical GPU (device: 0,
name: GeForce RTX 2080 with Max-Q Design, pci bus id: 0000:01:00.0, compute
capability: 7.5)
On Mon, Jul 8, 2019 at 6:33 AM Peter Hawkins<EMAIL_ADDRESS>wrote:

How did you install CUDA? What operating system and what release is
this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/jax/issues/989?email_source=notifications&email_token=ABDK6EFFPNQ37F76R4EBRZLP6M6ZHA5CNFSM4H6W4E52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZNC5QI#issuecomment-509226689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDK6EBTI6P5N5KTM2KAMQDP6M6ZHANCNFSM4H6W4E5Q
.

I'm getting this same error with python3.7 and CUDA 10.0. It seems like it doesn't actually check CUDA_DIR? Symlinking my CUDA_DIR to /usr/local/cuda solved the problem.

Same problem here. My cuda installation is not in /usr/local/cuda, but in /usr/lib/cuda. After symlinking it works

murphyk's fix worked for me, but it's rather ugly. I hope a better solution can be found soon :) thanks

I tried murphyk's fix but now I get an error of RuntimeError: Internal: libdevice not found at ./libdevice.10.bc

Here's my understanding of this issue:
jax depends on XLA, which is built as part of TF and bundled up into the jaxlib package. By default, TF is compiled to look for cuda and cudnn in /usr/local/cuda: https://github.com/tensorflow/tensorflow/blob/master/third_party/gpus/cuda_configure.bzl#L14
So symlinking your cuda install to /usr/local/cuda should work. Make sure libdevice actually exists... I always have a hard time figuring out which Nvidia downloads contain libraries, but I think libdevice is shipped as part of https://developer.nvidia.com/cuda-toolkit.
Alternatively, setting the environment variable XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda should work. I recommend exporting this outside the Python interpreter to be sure it's being picked up when jaxlib is loaded (there's probably a more targeted way to do it, but this will limit mistakes).
Is anyone still having problems after trying these methods?
We should also potentially make a jax-specific environment variable to set a custom cuda install path, or at least document the XLA_FLAGS one more clearly... I can do that once we verify this actually works.

Maybe I have a different issue then... I tried both symlinking and setting XLA_FLAGS, and my libdevice.10.bc is located at /usr/local/cuda/nvvm/libdevice/libdevice.10.bc, but I'm still getting the same RuntimeError: Internal: libdevice not found at ./libdevice.10.bc

Ok upon looking at the stack trace again, it looks like XLA is searching in /usr/local/cuda-10.2 instead of /usr/local/cuda. Making another symlink fixed this issue for me.
Anyone know why it's searching for cuda-10.2? I installed using the automatic method in the README pip install --upgrade https://storage.googleapis.com/jax-releases/nvidia-smi | sed -En "s/.* CUDA Version: ([0-9]).([0-9])./cuda\1\2/p"/jaxlib-0.1.45-python3 -V | sed -En "s/Python ([0-9]).([0-9])./cp\1\2/p"-none-linux_x86_64.whl jax

@skye Both those methods are working for me. As @KeAWang documented, I'm also seeing that in the absence of XLA_FLAGS info it will look in /usr/local/cuda-XXX, depending on the CUDA version. Would be great if the XLA folks could either actually check CUDA_DIR or simply not have an error message claiming to do so.

Thanks @KeAWang and @iamlemec. Agreed this could be much clearer. I've filed an internal bug against XLA with your suggestions and some of my own :) These are the suggestions:

The actionable information from the WARNING log could be included directly in the error message (e.g. which path(s) to symlink, XLA_FLAGS=...).
The warning message mentions ${CUDA_DIR}/nvvm/libdevice., but it appears $CUDA_DIR isn't actually used. I'm not sure if this is a standard-ish env var to use, so we could either look use it, or not mention it at all.
We could provide installation instructions for where CUDA Toolkit should be installed. I can do this for the JAX instructions, but maybe https://www.tensorflow.org/install/gpu should be updated as well.
Should we add more default paths to check? e.g. /usr/lib/nvidia-cuda-toolkit?

Please comment if I should correct anything or you have other suggestions!

I personally have cuda in /opt/cuda, not sure why. Also, $CUDA_DIR does not seem to be defined by default, I don't know if it's defined while the script runs but that seems unlikely (I have very little understanding of these issues though).

I also have it in /opt/cuda because my installation is through the Arch User Repository package.

Hi All,
I've tried murphyk's fix and symlinking the cuda directory to /usr/local/cuda, but have received this possible error:
2020-04-29 11:18:32.823934: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:77] Searched for CUDA in the following directories:
2020-04-29 11:18:32.823950: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:80]   /home/steven/xla
2020-04-29 11:18:32.823961: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:80]   /usr/local/cuda
2020-04-29 11:18:32.823973: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:80]   .
2020-04-29 11:18:32.823985: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:82] You can choose the search directory by setting xla_gpu_cuda_data_dir in HloModule's DebugOptions.  For most apps, setting the environment variable XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda will work.
2020-04-29 11:18:32.872919: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:76] Can't find ptxas binary in ${CUDA_DIR}/bin.  Will back to the GPU driver for PTX -> sass compilation.  This is OK so long as you don't see a warning below about an out-of-date driver version. Custom ptxas location can be specified using $PATH.
I was wondering if anyone has any more information about this output? Running jax code seems to "work" as it does not through an error, but I'm not sure if the GPU is actually being used.
For further information, I have used conda to create an environment for both Cuda and Jax.
Thanks for reading!

Does /usr/local/cuda/bin/ptxas exist? You may need to install the CUDA toolkit if not.

For people running into this problem after an install of Ubuntu 20.04 with Ubuntu's cuda toolkit package, KeAWang's suggestion works but you need cuda-10.1 instead:
sudo ln -s /usr/lib/cuda /usr/local/cuda-10.1

(jax3) ubuntu@ip-172-31-13-179:~$ python
Python 3.7.0 (default, Oct  9 2018, 10:31:47)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jax
>>> from jax.lib import xla_bridge
>>> print(xla_bridge.get_backend().platform)
gpu
>>>

Thanks @murphyk It worked for me.

Hi All,
I've tried murphyk's fix and symlinking the cuda directory to /usr/local/cuda, but have received this possible error:
2020-04-29 11:18:32.823934: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:77] Searched for CUDA in the following directories:
2020-04-29 11:18:32.823950: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:80] /home/steven/xla
2020-04-29 11:18:32.823961: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:80] /usr/local/cuda
2020-04-29 11:18:32.823973: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:80] .
2020-04-29 11:18:32.823985: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:82] You can choose the search directory by setting xla_gpu_cuda_data_dir in HloModule's DebugOptions. For most apps, setting the environment variable XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda will work.
2020-04-29 11:18:32.872919: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:76] Can't find ptxas binary in ${CUDA_DIR}/bin. Will back to the GPU driver for PTX -> sass compilation. This is OK so long as you don't see a warning below about an out-of-date driver version. Custom ptxas location can be specified using $PATH.
I was wondering if anyone has any more information about this output? Running jax code seems to "work" as it does not through an error, but I'm not sure if the GPU is actually being used.
For further information, I have used conda to create an environment for both Cuda and Jax.
Thanks for reading!

you may try my code above to check whether gpu is used.

@skye ，set XLA_FLAGS works for me. I believe this is a very important piece of information that should be in README#installation part as soon as possible. Since in most of setups, cuda installation is not in the default path XLA is looking for. And the error is confusing unless they can find this issue :)

Hi, sorry for the delay on this. I've created a PR with updated installation instructions: https://github.com/google/jax/pull/3190. Please comment if you have any suggestions. We can do even more to address this situation (@hawkinsp suggested bundling libdevice with jaxlib), but hopefully this will help for now.

I have a conda environment for jax with cudatoolkit and cuDNN installed from anaconda channel. I am in Manajro Linux and use optirun ro enable GPU. I get the same error when executing (the first example in README)
XLA_FLAGS=--xla_gpu_cuda_data_dir=<conda-env-path>/lib/ optirun python gp.py

even after setting XLA_FLAGS.
PS: optirun with tensorflow and pytorch runs fine.

Do you get the same error without optirun? Also, can you try creating a symlink as described above and in the README? This will help narrow down where the problem is.

@v-i-s-h Were you ever able to resolve this issue by setting the anaconda path? That's what I've been trying to do but it hasn't been working.

@coded5282 Nope. I am still getting the same error.
I didn't try the symlink as it goes directly to the system settings and I am a bit afraid it may break some of my other configurations.

Just to add: Same error as everyone else. Tried setting the XLA_FLAGS environment variable; didn't work. However, adding the symlink did (for me: $ sudo ln -s /opt/cuda /usr/local/cuda-10.2)
Like @KeAWang and several others I'm on Arch and installed CUDA through through the AUR.

Hi Everyone,
I still have an issue with this. I get the error of :
[...]
RuntimeError: Internal: libdevice not found at ./libdevice.10.bc

cuda is installed and I made a soft link. Here is some more info:
(jax) kayhan@lambda-dual:~$ whereis -b cuda
cuda: /usr/include/cuda.h /usr/include/cuda

(jax) kayhan@lambda-dual:~$ ls -lt /usr/local/cuda-11.1
lrwxrwxrwx 1 root root 39 Mar 11 15:16 /usr/local/cuda-11.1 -> /usr/lib/nvidia-cuda-toolkit/libdevice/

(jax) kayhan@lambda-dual:~$ ls -lt /usr/lib/nvidia-cuda-toolkit/libdevice/
total 464
lrwxrwxrwx 1 root root     13 Apr 15 15:21 cuda -> /usr/lib/cuda
-rw-r--r-- 1 root root 471124 Oct 16 13:42 libdevice.10.bc

i tried setting XLA flag but i still have the same issue:
(jax) kayhan@lambda-dual:~$ export XLA_FLAGS="--xla_gpu_cuda_data_dir=/usr/lib/nvidia-cuda-toolkit/libdevice/"
(jax) kayhan@lambda-dual:~$ ipython
[...]
RuntimeError: Internal: libdevice not found at ./libdevice.10.bc

This problem is addressed here:
https://github.com/google/jax/discussions/6479#discussioncomment-622839
the instruction needs to clarify that one should make nvvm folder inside of the cuda to work.

Good news! As of jaxlib 0.1.66, which was just released yesterday, we now bundle libdevice inside the jaxlib CUDA wheels. JAX should now always find it successfully. Hope that helps!


Using scipy's genetic algorithm for initial parameter estimation

I have used scipy's Differential Evolution genetic algorithm to find initial parameters for fitting a double Lorentzian peak equation to Raman spectroscopy data. I found that the results were excellent, and see from your GitHub project that you might find my project to be interesting.
The GitHub project, with a test spectroscopy data file, is:
https://github.com/zunzun/RamanSpectroscopyFit
If you have any questions, please let me know.
James Phillips

I don't think is is really an issue for linearmodels, so I'm going to close.

OK.


Update README for CocoaPod Install Instructions

The README with the updated accurate CocoaPod installation instructions. Those instructions didn't work and I had to go to the issues section and read the thread to locate the correct and updated instructions. Thank you!

Delete -
`# Podfile
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/salemove/glia-ios-podspecs.git'
user_frameworks!
target 'YOUR_TARGET_NAME' do
pod 'GliaWidgets', git: 'https://github.com/salemove/ios-sdk-widgets', tag: 'SDK_VERSION'
end
`
Replace With -
`source 'https://github.com/salemove/glia-ios-podspecs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '12.0'
target 'MyProject' do
use_frameworks!
pod 'GliaWidgets'
end`

@nlabarbera we will update it today.
Please use this sample to integrate with Cocoapods
# Podfile

source 'https://github.com/salemove/glia-ios-podspecs.git'
source 'https://github.com/CocoaPods/Specs.git'

user_frameworks!

target 'YOUR_TARGET_NAME' do
    pod 'GliaWidgets'
end

Sweet thank you all so much!! Is there a sandbox to develop in?

What kind of sandbox feature would you like to have?

We are good - I was able to get one! Thank you a ton for all your help!


Dynamic fields in MessageSendRecorderExtension inconvenient with respect to VCS

The fact that dynamic fields in the MessageSendRecorderExtension class are implemented as new methods added to the class is quite inconvenient when working with changesets, Monticello versions, or any other version control system because normal usage of the recorder tool generates code changes.
Is it correct that this implementation approach was chosen for optimization reasons for the quick sends? Can we (silently) call #removeAllFields whenever a recording was finished to keep the image clean? I'd be happy to do this if you like it :-)

InstVar access is orders of magnitude faster than dictionary lookup. Removing those fields after recording would destroy the data in the records you just created. :-) One could put those fields into the "*autogenerated" protocol. Would that help:

One could put those fields into the "*autogenerated" protocol. Would that help:

Yes, this would probably be the most elegant solution. We could also call the protocol '*UserObjects-fields' or so instead to reduce the number of packages, but either of them would be fine.
I can submit a PR if you like :-)

Squeak Trunk knows already about that "autogenerated" package. See Preferences class. Another existing class category would be "UserObjects", which will be cleared during release building.

Should we merge them in the Trunk, too? What's their semantic difference?

"UserObjects" is for classes, originates from Etoys for its uni-classes. "Autogenerated" is for methods. Granularity is the difference.

Alright, I'll submit a PR soon unless you preempt me.


Add example of opaque CountDown type usage

This PR adds a small doc update to illustrate how to permit using the start function of the CountDown trait when writing a driver.

Got rid of the .gitignore line, should be gtg.

bors retry

bors  try

LGTM!
@thenewwazoo could you rebase this to master?


tap-new creates workflow files that use an outdated actions/cache@v1

brew doctor output
irrelevant

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
irrelevant

What were you trying to do (and why)?
Push to a third-party tap, which triggers workflow runs.
What happened (include all command output)?
The workflow run throws warnings, which is caused by using outdated actions/cache@v1, see https://github.com/muzimuzhi/homebrew-texstudio-beta/actions/runs/4589048105

What did you expect to happen?
No warnings.
Use either the latest actions/cache@v3, or the more aggressive actions/cache@main, like how actions/upload-artifact is used.
https://github.com/Homebrew/brew/blob/931327df1f30a3a5b1aa07657c0d1070e61988f9/Library/Homebrew/dev-cmd/tap-new.rb#L103-L108
Step-by-step reproduction instructions (by running brew commands)
# incomplete
brew tap-new user/temp-tap
cd $(brew --repository)/Library/Taps/user/homebrew-temp-tap
git commit --allow-empty -m "Trigger Workflows"
git push

Thanks for letting us know. I've got a PR up to fix this now.


Make sure dlq extent quotas are honored

DLQ destinations don't need to be scaled for high throughput most of the the time and so we have different quotas for numPublisher/numConsumer extents for DLQ. However, there are two problems currently with enforcing those quotas:
(1) The publish side quotas are never enforced because of a bug
(2) The consume side allows for violation of DLQ quota when there are no regular extents to consume from. This is not OK sometimes, because DLQs can be poison pills and consuming solely from DLQs could potentially stall a consumer group. The fix will be to strictly enforce the dlq quota.
This patch fixes both (1) and (2) and updates the unit tests.

Coverage increased (+0.1%) to 54.548% when pulling 92a655db37100e9af797b6bc4658842587e25f32 on dlq-extent into f0355ed6e83964e5bd65f4816407e45b27b02d83 on master.

Coverage increased (+0.1%) to 54.539% when pulling 92a655db37100e9af797b6bc4658842587e25f32 on dlq-extent into f0355ed6e83964e5bd65f4816407e45b27b02d83 on master.

Coverage increased (+0.2%) to 54.695% when pulling 9d3de8d45abbd458a80691b0ea084fd138209903 on dlq-extent into 8bbdbd7a691b8748520c040bb6bce404494f01bd on master.

Coverage decreased (-0.3%) to 54.749% when pulling f77aac25edb9cd27fdce505158879fd22bb6d8e2 on dlq-extent into 9bf39e19aa983776d5dc13e0d254ecd237a58c22 on master.

Coverage increased (+0.02%) to 54.634% when pulling<PHONE_NUMBER>67921fdb1eacbde19173048fb44834 on dlq-extent into 026daaa20ded5fdf38dff8d5f5b30ac6f01a7b0d on master.


aliases

Would be nice if in the sshaws config, you could add aliases for instances, so that you could connect to them using something a little more memorable than instance ids. ;)

Hi,
good idea, thanks.
I'll try to add it with the next version.

added a pull request for the aliases feature. #5
https://github.com/FrederikP/sshaws/pull/5
I also have a feature branch for adding profile support in my fork. I can do a pull for that too if you like.

I just wanted to mention. I welcome any critique on my code. I'd love to improve it and / or change it to meet any conventions you'd like to follow in this project.

Hi @derekjbernard ,
thanks for all the work. I didn't have much time (birth of my son) but I'll take a look now.

@derekjbernard s PR was merged and is included in version 0.4.0


Better structure for EnvironmentPackageCache

Uses PackageOrg, PackageName & PackageVersion instead of PackageId Wrote a better algorithm for getPackage
Purpose
Fixes #36790
Approach

Removed PackageId in its entirety
No longer inherits from WritablePackageCache
getPackage is implemented for PackageOrg, PackageName, PackageVersion

Samples

Provide high-level details about the samples related to this feature.

Remarks
The removePackage part is still left, needs discussion
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[x] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

This might cause a problem here
https://github.com/ballerina-platform/ballerina-lang/blob/7ff35ac7245665d0adf4c020f5a33e42ab850df0/compiler/ballerina-lang/src/main/java/io/ballerina/projects/environment/EnvironmentBuilder.java#L76
I think this needs a bit more discussion before merge

@azinneera FYA Please review.


Fuse GEMM across a reshape

From the 22 Feb 2024 performance model review of Distilgpt2:
There are several cases of dot+reshape+pointwise:
@47 = gpu::code_object[code_object=5688,symbol_name=mlir_reshape_dot,global=67584,local=256,](@44,@45,@46) -> half_type, {348, 3072}, {3072, 1}
@48 = hip::hip_copy_literal[id=main:@literal:66] -> half_type, {3072}, {1}
@49 = reshape_lazy[dims={1, 348, 3072}](@47) -> half_type, {1, 348, 3072}, {1069056, 3072, 1}
@50 = load[offset=1069056,end=3207168](@1) -> half_type, {1, 348, 3072}, {1069056, 3072, 1}
@51 = multibroadcast[out_lens={348, 3072},out_dyn_dims={}](@48) -> half_type, {348, 3072}, {0, 1}
@52 = reshape_lazy[dims={1, 348, 3072}](@51) -> half_type, {1, 348, 3072}, {0, 0, 1}
@53 = gpu::code_object[code_object=9624,symbol_name=add_mul_mul_mul_mul_add_neg_sub_exp_add_div_mul_kernel,global=534528,local=1024,](@49,@52,@50) -> half_type, {1, 348, 3072}, {1069056, 3072, 1}

And also here:
@32 = gpu::code_object[code_object=5520,symbol_name=mlir_transpose_reshape_dot,global=18432,local=256,](@29,@30,@31) -> half_type, {348, 768}, {768, 1}
@33 = hip::hip_copy_literal[id=main:@literal:70] -> half_type, {768}, {1}
@34 = load[offset=534528,end=1069056](@1) -> half_type, {1, 348, 768}, {267264, 768, 1}
@35 = multibroadcast[out_lens={348, 768},out_dyn_dims={}](@33) -> half_type, {348, 768}, {0, 1}
@36 = reshape_lazy[dims={1, 348, 768}](@32) -> half_type, {1, 348, 768}, {267264, 768, 1}
@37 = reshape_lazy[dims={1, 348, 768}](@35) -> half_type, {1, 348, 768}, {0, 0, 1}
@38 = gpu::code_object[code_object=9416,symbol_name=add_add_kernel,global=133632,local=1024,](@36,@37,@10,@34) -> half_type, {1, 348, 768}, {267264, 768, 1}

The dot is only used once so we could fuse this with MLIR.
MLIR should already handle a reshape as it already fuses them on the inputs to dot, but we could do some tweaking in migraphx to fuse it when its inbetween the dot and pointwise.
Deliverables:

Need to write a matcher in MIGX that will handle this case of fusing dot -> reshape -> pointwise to pass to MLIR.

Need to write a matcher in MIGX that will handle this case of fusing dot -> reshape -> pointwise to pass to MLIR.

I think, It can be very much similar to
https://github.com/ROCm/AMDMIGraphX/blob/6e505cd43c5286f4fafff9b8b863fe94e8735a25/src/fuse_pointwise.cpp#L197

https://github.com/ROCm/AMDMIGraphX/pull/3280 solves this :
I see fusion across reshape.
@34 = gpu::code_object[code_object=5824,symbol_name=mlir_transpose_reshape_dot_reshape_add_add,global=18432,local=256,](@33,@11,@28,@30,@31) -> half_type,     {1, 348, 768}, {267264, 768, 1}

For the other case i see this fused kernel :
 @44 = gpu::code_object[code_object=11600,symbol_name=mlir_dot_add_add_mul_mul_add_mul_exp_add_div,global=36864,local=256,](@42,@41,@38,@36,@43) -> half_ty    pe, {1, 348, 3072}, {1069056, 3072, 1}


First try

When trying your bot on the first try after connecting it, when I say "Bumblebee search ..." it'll crash immediately:
Error: Output stream closed
at Timeout._onTimeout (D:\Temp\npm_aura\Speech-Recognition-Bot-master\node_modules\fluent-ffmpeg\lib\processor.js:491:25)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
Emitted 'error' event on FfmpegCommand instance at:
at emitEnd (D:\Temp\npm_aura\Speech-Recognition-Bot-master\node_modules\fluent-ffmpeg\lib\processor.js:424:16)
at Timeout._onTimeout (D:\Temp\npm_aura\Speech-Recognition-Bot-master\node_modules\fluent-ffmpeg\lib\processor.js:491:17)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)

can you fixed the problem?

I'm not fixing the problem, this software has a non-free dependency so I'm not using this myself.

When trying your bot on the first try after connecting it, when I say "Bumblebee search ..." it'll crash immediately:
Error: Output stream closed at Timeout._onTimeout (D:\Temp\npm_aura\Speech-Recognition-Bot-master\node_modules\fluent-ffmpeg\lib\processor.js:491:25) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) Emitted 'error' event on FfmpegCommand instance at: at emitEnd (D:\Temp\npm_aura\Speech-Recognition-Bot-master\node_modules\fluent-ffmpeg\lib\processor.js:424:16) at Timeout._onTimeout (D:\Temp\npm_aura\Speech-Recognition-Bot-master\node_modules\fluent-ffmpeg\lib\processor.js:491:17) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7)

Has anyone fixed this problem?

I'm actually working on a recog thing myself, i think the issue is the discord bots has changed a lot under the hood. Trying to figure out what may work now. This is actually a non caught error which should have been handled in well written code, but most likely it is due to the fact this doesn't work properly anymore. But anyhow if you can make this work, or if you find a better way to just record from a keyword like this im all ears.

I've had a Proof of Concept that was working. A simple web application with native javascript where you can record audio to a file. Then you need to host a speech recognition server with an endpoint that can receive files and returns text. 'Simply' send the files there.
Such a design may also be better for a bigger project as your speech server and recorder are micro-services. There are certain python libraries as well that allow speech recognition (https://pypi.org/project/SpeechRecognition/).

Yea unfortunately, it has to be in app, I also recently had an idea to use
web front end, and it works. But I wanted to avoid using outside things.
And it seems discord is not encouraging recording as such. I know speech
recog works, and I already have an example, i tried using this in app, but
this is a no go. So trying to figure things out there. But you are right
speechrecog or webkit speech works. It's just a matter of getting that to
run client side inside discord that is the problem. And i kinda hit a wall
atm. I was thinking of how to maybe embed a file that runs from the app,
but this seems to be discouraged as well, since its most likely a security
issue.
But ty for the suggestion.
On Wed, Jun 14, 2023 at 10:33 PM Frettarix @.***> wrote:

I've had a Proof of Concept that was working. A simple web application
with native javascript where you can record audio to a file. Then you need
to host a speech recognition server with an endpoint that can receive files
and returns text. 'Simply' send the files there.
Such a design may also be better for a bigger project as your speech
server and recorder are micro-services. There are certain python libraries
as well that allow speech recognition (
https://pypi.org/project/SpeechRecognition/).
—
Reply to this email directly, view it on GitHub
https://github.com/d4sein/Speech-Recognition-Bot/issues/3#issuecomment-1591940328,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADIWIN54MFFD3EAA3A5SQ3LXLINY7ANCNFSM446XMNIA
.
You are receiving this because you commented.Message ID:
@.***>

If you're trying to implement this on Discord I can probably give you some example libraries that can help. I've got voice recognition on Discord already.
For a front-end I still need to build it though, been lacking time due to work :D

Averagely crashing once each two matches. Very unstable

Sure, most of the examples i got does not work currently with discord. Any help would be appreciated.

I forgot that I got a new computer and I've lost all my data.... the implementation I did was based on a free model applied to a discord bot (similar to https://www.youtube.com/watch?v=IKIlnaCDZcI&ab_channel=omega7arts).
You want to set up a discord bot that can connect to the voice chat and listen, then each user will be seen as a separate input for the vosk model. It's not 100% accurate but it may do the job.

I forgot that I got a new computer and I've lost all my data.... the implementation I did was based on a free model applied to a discord bot (similar to https://www.youtube.com/watch?v=IKIlnaCDZcI&ab_channel=omega7arts).
You want to set up a discord bot that can connect to the voice chat and listen, then each user will be seen as a separate input for the vosk model. It's not 100% accurate but it may do the job.

Ah very cool, ill give this a shot, otherwise ill either have to try maybe a web front end, or write some kinda half exploity way that works with discord, their code and documentation does seem a bit well... fastly written, not sloppy per say, but also not really helpful to the people that want to create things for discord. And didn't code it themselves.


fix(core): do not emit modelChange when a field without key changes

This is going to be in v6 right?
I'm assuming that because it would be a breaking change.

yes v6 also not a breaking change since it doesn't occurs on v5.

Oh okay thanks! I was going to adjust our internal wrapper unit tests to
double check for this otherwise.
On Wed, Jan 26, 2022, 8:06 AM Abdellatif Ait boudad <
@.***> wrote:

yes v6 also not a breaking change since it doesn't occurs on v5.
—
Reply to this email directly, view it on GitHub
https://github.com/ngx-formly/ngx-formly/pull/3154#issuecomment-1022228981,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADB4XNJRNX2V2JW3F6XOCD3UX75WXANCNFSM5M22VNYQ
.
You are receiving this because you commented.Message ID:
@.***>


Fixed error + a couple improvements

Just accepted the first pull request. That was easy :) Thanks!

You're welcome.  I'm honoured to be your first pull request!  And thank you for the handy little tool.


Add command line options

Add command line options using the clap crate, starting with an option to customize the output filename.


Update Versions.toml

Fixing missing dependency on version v0.3.0. See discussion here: https://github.com/JuliaFEM/FEMBase.jl/issues/68

The only change is to move version tag v0.3.0 to a next commit, and there the change is in Project.toml file to introduce a new dependency: (https://github.com/JuliaFEM/FEMBase.jl/commit/5011799fb6712359723fd6036756839055a70f18
[deps]
TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"

cc: @KristofferC

As a general rule we don't allow you to modify versions once they've been registered.
If this version is bad, you can yank it. Then you can register a new fixed version.


reverse search by country code

is it possible to get Country object by passing country code?
e.g. after picking a country, i have some data like country code, and name.
now, how do I get (later) that very same object just by country code? without opening the picker, of course

@FilipKvestak To get instance of a Country use  CountryParser.parse('US') or CountryParser.tryParse('US'). For more information and more methods, please check the documentation.


Use hellofresh DockerHub org to push images

This PR changes DockerHub account target to Hellofresh official.

+1

+1


ReferenceError: regeneratorRuntime is not defined

I am not able to use vue-render-plugin. Am i doing something wrong?
Project example: (components/Editor/Editor.vue)
https://codesandbox.io/s/rete-test-cehn8

You need to import polyfill manually or use babel (depends on your build system)

https://github.com/retejs/rete/issues/247


RocksDB state backend causes segfault on Alpine images again

Seems like the problem in #14 has reappeared at least for 1.4.1-hadoop27-scala_2.11-alpine.
Anyone else experience this?

I confirm this is an issue, it seems to be a regression related to libc6-compat on alpine:3.7. Not sure what would be the best way to proceed, we can repackage libc compatibility by using https://github.com/sgerrand/alpine-pkg-glibc as some Java based containers do, or just remove support for the alpine images until fixed upstream. @patricklucas WDYT ?

I'm not super enthusiastic about keeping alpine support given these persistent issues. The alpine-based image is ~37% smaller than the debian-based image, but that's the only benefit as far as I can tell.
Since users running in production environments are likely building their own images anyway, I'm not sure maintaining support for alpine-based images is all that useful.
We could keep building the alpine-based Dockerfiles in this repo for interested users, but just not publish them to Docker Hub.

@iemejia do you know if this has been fixed upstream? If not, I would move forward with removing the alpine images.

Yes it was solved for Alpine 3.7 and I just tested the latest version 3.8 and it seems to work. So we should be covered once our images are regenerated (they just updated openjdk:8-jre-alpine yesterday to be based on the 'new' alpine 3.8).

👍


Update protobuf library

Updating to protobuf-v3.0.0b3 because it
fixes a bug here https://github.com/google/protobuf/blob/e841bac4fcf47f809e089a70d5f84ac37b3883df/python/google/protobuf/internal/python_message.py#L59
where six.moves is not always available.
In particular, the system python on OSX has an old version of six
which is without six.moves.

This ones trivial enough - merging it in.


NONE: add curl output

What's in this PR?

Getting CURL output for discovery task failure

Why
Because GitHub support will ask for it
Added feature flags
Existing ones

Thanks @gxueatlassian for letting me know! Addressed this issue.


Fix open image in app or externally (instead of popup)

This attempts to fix https://github.com/ferdium/ferdium-app/issues/195.
Tested locally only with Discord but may also work with Zoom.
Skype and SteamChat services should also be included in this PR (in a similar approach) so that it fixes those too.
This is related to commit 4983daff125009865f8482388c37f69de8a610f7.

Can we please include Skype and SteamChat in this PR as well? All other code looks great! Tx @SpecialAro !

Added in the latest commit but I haven't tested it. Though, it should logically work.

Tested SteamChat -> this issue is working fine but the TrapLinks doesn't work there.

Made some changes on both recipes to make TrapLinks work again.

Though, for images on pasted urls (uncommon), it will redirect the user according to the trapLink preference - which is expected in my opinion and shouldn't be worked on this commit if otherwise isn't.
I think it is ready to merge @vraravam 😄


server side table generation

If some plugin (example  linux.proc.Maps) return large number of data (example more than 10000 rows), generating datatable at client side could take too much time.
The table generation should be done at server side.
Created branch dj to work on this.
Current behavior and issues:

the search now work if terms match exactly the data, for partial searches need add * to search term
search on additional generated data (such as md5) is not searchable
happened that executing twice the windows.pslist plugin with dump caused the following error:
packages/django/db/backends/utils.py", line 100, in _execute with self.db.wrap_database_errors: File "/opt/conda/lib/python3.11/site-packages/django/db/utils.py", line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/opt/conda/lib/python3.11/site-packages/django/db/backends/utils.py", line 105, in _execute return self.cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ django.db.utils.IntegrityError: duplicate key value violates unique constraint "website_extracteddump_path_key" DETAIL: Key (path)=(/media/f10a1a0a-a0b3-11ee-ae63-0242ac12000a/windows.pslist.PsList/356.smss.exe.0x48580000.dmp) already exists.

todo: add sorting for non generated columns


Add extra parentheses around constants?

Should we add extra parentheses around values such as (MPI_Op)0x00000020 in #define statements?

Sure, why not.


React & Redux Capstone Project with Country API

React & Redux Capstone Project
In this Pull Request:

I Implemented React and Redux and created a Full Project with API.
I Used Rest Country API for getting countries' data.
I Used CSS for styling.
I Used React Router in this Project.
I Used Redux for fetching data from API.
I Used the React Testing library for testing.
This is my Project, Live Link.

Note: I Couldn't Record a video for this Project due to my Chest Infection problem it is a bit difficult for me to speak loudly so I hope I won't get any rejection for that

Hi <STUDENT_MENTION>,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that is requesting to merge from dev to main instead of from feature branch to dev. You are supposed to merge from dev to main if it is a group project
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.
Invalid Code Review Request does not count into the code reviews limit.

Than

Hi <STUDENT_MENTION>,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that is requesting to merge from dev to main instead of from feature branch to dev. You are supposed to merge from dev to main if it is a group project
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.
Invalid Code Review Request does not count into the code reviews limit.

Thanks, @fobadara for your review and feedback can you tell me now what should I do?

Status: Invalid 🔴
Hi @Atril33,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that is merging the dev branch into a feature branch. What the previous reviewer meant is for the final submission of a capstone project you should be merging the dev branch into main.

Remember that the main branch is the main branch of the application as the name suggests. Therefore the final merge after the entire project is done which was developed in the development branch should be to merge everything to the main branch and prepare the application for deployment. This means that the default branch should be changed back to main after the project is done (development stage changes to the production stage).

I hope this makes sense.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers 🥂  and Happy coding!!! 👯
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Remember to tag me @KDlamini  in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Accessing non-local shard stats causes panic

There are various place in the code where accessing shards stats needs to first check if the shard is local.

Trace from user:
https://gist.github.com/rizalmhn/29e1dfc719dd2513c518