- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to compute a Cholesky factorization of a large matrix with an Intel Data Center Max 1550s GPU. The matrix size is 100,000 x 100,000. For testing, I am creating a random SPD matrix and seeing what the factorization/solve times are. The code file is attached. In the file, there is a commented out portion where it was making a random matrix. I changed it to just try a scaled Identity matrix first.
To compile:
icpx -fsycl -DGPU -o cholesky_gpu cholesky_gpu.cpp -lmkl_sycl -lmkl_intel_ilp64 -lmkl_core -lmkl_sequential -lsycl -lOpenCL
And then run:
./cholesky_gpu <N>
where N is the matrix size. This works fine for matrices up to 40,000 or so. If I use the random matrix version, I start seeing errors like
Provided range is out of integer limits. Pass `-fno-sycl-id-queries-fit-in-int' to disable range check.
I thought this had to do with the `range<2>(N,N)` becoming too big (I am using size_t and not int). With the scaled identity matrix, the potrf call gives an error saying the matrix is not positive definite.
Can someone help me solve this issue? I am very new to SYCL, so I might be making a very silly mistake somewhere. If there is an example Cholesky code that works on an arbitrary size matrix, that would be perfect!
Thanks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you please check the oneMKL example for Cholesky factorization located in the following folder:
mkl/latest/share/doc/mkl/examples/examples_sycl.tgz
The Cholesky factorization examples can be found at:
sycl/lapack/source/potrs.cpp
sycl/lapack/source/potrs_usm.cpp
If you are working with a large matrix, please define the dimension as 64-bit integers and use the oneMKL 64-bit integer interface.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page