Comments (3)
This seems to be a really weird issue. Luckily, so far I could only reproduce it in the jupyter notebook.
Using this code:
template <class C>
auto countnan(const C& c)
{
int i = 0;
for (auto& el : c)
{
if (std::isnan(el))
{
i += 1;
}
}
return i;
}
I was able to observe a very random nondeterministic number of nans in the result.
I wonder if this is somehow related to cling.
from xtensor-blas.
Okay, I took a second look into it.
We do import the blas libraries for cling, but we do not define HAVE_CBLAS 1
(e.g.
#define HAVE_CBLAS 1
If you define this at the top of your notebook, you should not see any nan's anymore (at least that was the case for me).
Now that hints at a problem in the generic implementation of the dot product in FLENS.
I am looking at the output from running with CXXBLAS_DEBUG 1
and I see that CXXBLAS: dotu_generic
is getting called. I'll take a look if I can find something obvious.
from xtensor-blas.
Ok, i found the root cause of the issue in this line of FLENS
for (IndexType i=0, iY=0; i<m; ++i, iY+=incY) {
VY y_;
dotu_generic(n, A+i*ldA, IndexType(1), x, incX, y_);
y[iY] += alpha * y_;
}
The problem is that it's +=
assigning to potentially unitialized memory ... and that produces random nan's!
Let's check what the BLAS manual says.
from xtensor-blas.
Related Issues (20)
- doc build fails with sphinx 4: no attribute 'add_stylesheet'
- xlapack.solveCholesky test precision too high for 32 bit machines HOT 7
- 0.20.0 installs the empty directory include/xflens/cxxblas/netlib
- warnings from clang-12 in tests HOT 1
- Unable to compile on Ubuntu HOT 1
- Memory access violation when calling dot using MKL
- Failure in linking xtensor-blas with lapack/blas? HOT 3
- Latest version on GitHub doesn't seem correct
- Latest version on GitHub doesn't seem correct HOT 1
- emmmm, i not find the funcation can implentment the matrix multiply like np.matmul........ HOT 1
- Could NOT find BLAS (missing: BLAS_LIBRARIES) HOT 3
- [Feature request] Support xt::linalg::outer for higher-dimensional objects
- conflict with open3d lib which depend on eigen
- Unexpected results from xt::linalg::matrix_power with even exponents
- xcontainer objects should accept xcontainers in operator() HOT 1
- QUERY: Handling custom wrappers over complex data
- The different precision between numpy and xtensor_blas package when using cholesky function HOT 2
- using xt::linalg results in .pyd resulting in DLL not found.
- Different behaviors of solve, solve_triangular, and solve_cholesky (possibly a bug)
- How to integrate xtensor-blas in cmake by using fetch_content HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xtensor-blas.