Matlab 2012a Link Interface broken?

General CULA Dense (LAPACK & BLAS) support and troubleshooting. Use this forum if you are having a general problem or have encountered a bug.

Matlab 2012a Link Interface broken?

Postby prisma » Thu Apr 26, 2012 5:19 am

Hi,

i'm having some problems with the link interface with Matlab 2012a. When i do f.ex. a polyfit in Matlab (setting LAPACK_VERBOSITY=1) i get:

Code: Select all
cpu_id: x86 Family 31 Model 9 Stepping 1, AuthenticAMD
libmwlapack: trying environment...
libmwlapack: loading /usr/local/cula/lib64/libcula_lapack_link.so
libmwlapack: loaded /usr/local/cula/lib64/libcula_lapack_link.so@0x24c8320
libmwlapack: /usr/local/cula/lib64/libcula_lapack_link.so is not a
compatibility layer.
libmwlapack: load error: /usr/local/cula/lib64/libcula_lapack_link.so:
undefined symbol: cbbcsd_
libmwlapack: unloading libraries
Caught "std::exception" Exception message is:
/usr/local/cula/lib64/libcula_lapack_link.so: undefined symbol: cbbcsd_


OS is Ubuntu 11.10 64bit, GPU GTX580, driver is 285 from the cuda hp, cudatoolkit is 4.1.28 and CULA R14.
Doing exactly the same with 2010b everything works perfectly.

Another thing that i have been spoting is that the GPU accel. does not work for 2012a, for 2010b it does. (Testcase A=rand(5000); B=rand(5000); C=A*B;)
I've attached the cula debug outputs.

2010b:
Code: Select all
cula info:  parsing crossover list '/usr/local/cula/crossover.list'
cula info:  setting crossover for dgemm to '22500'
cula info:  setting crossover for dsyrk to '2500'
cula info:  setting crossover for zgetrf to '10000'
cula info:  dgemm (N, N, 5000, 5000, 5000, 1.000000, 0x7f38d4143010, 5000, 0x7f38c8286010, 5000, 0.000000, 0x7f38bc0e2010, 5000)
cula info:  issuing to GPU (over threshold)
cula info:  done


2012a:
Code: Select all
cula error: culaInitialize failed (CUDA runtime or driver is not supported)
cula info:  forwarding all calls to CPU
cula info:  parsing crossover list '/usr/local/cula/crossover.list'
cula info:  setting crossover for dgemm to '22500'
cula info:  setting crossover for dsyrk to '2500'
cula info:  setting crossover for zgetrf to '10000'
cula info:  dgemm (N, N, 5000, 5000, 5000, 1.000000, 0x7f5894143020, 5000, 0x7f5888286020, 5000, 0.000000, 0x7f587c3c9020, 5000)
cula info:  issuing to CPU (cula not available)
cula info:  CPU library is /usr/local/cula/lib64/lapackcpu.so
cula info:  done


Any help appreciated
Sebastian
prisma
 
Posts: 4
Joined: Wed Jun 15, 2011 12:39 am

Re: Matlab 2012a Link Interface broken?

Postby john » Thu Apr 26, 2012 11:34 am

It appears that despite Mathworks having added a new lapack function (cbbcsd) that the link interface still managed to load up - otherwise you wouldn't get the debug log printed out.

This message in the 2012a line "CUDA runtime or driver is not supported" indicates to me that something has interfered with CULA's loading process. I'm guessing that Matlab has loaded up a pre-4.1 toolkit for you prior to you getting CULA loaded.
john
Administrator
 
Posts: 587
Joined: Thu Jul 23, 2009 2:31 pm

Re: Matlab 2012a Link Interface broken?

Postby prisma » Fri Apr 27, 2012 3:31 am

It appears that despite Mathworks having added a new lapack function (cbbcsd) that the link interface still managed to load up - otherwise you wouldn't get the debug log printed out.

Ok, the link interface itself is of course not broken, but still in this state it is not usable to me. Any chance that cbbcsd will be supportet soon? If not in the GPU then at least forward it to the cpu library (wich is a mkl if I got it right).

This message in the 2012a line "CUDA runtime or driver is not supported" indicates to me that something has interfered with CULA's loading process. I'm guessing that Matlab has loaded up a pre-4.1 toolkit for you prior to you getting CULA loaded.

That can be very well. Does anyone know a way of enforcing Matlab to load nothing? I have tried to move the parallel computing toolbox out of the way (where the gpu parts are in), but that did not help.
prisma
 
Posts: 4
Joined: Wed Jun 15, 2011 12:39 am

Re: Matlab 2012a Link Interface broken?

Postby metaheuristic » Tue Jul 03, 2012 9:17 am

I am noticing a similar issue. When I try loading it in Matlab I get:

Code: Select all
>> randn('seed',1);A=randn(4000,4000,'single');
>> tic;svd(A);toc                             
cpu_id: x86 Family 6 Model 45 Stepping 7, GenuineIntel
libmwlapack: trying environment...
libmwlapack: loading /usr/local/cula/lib64/libcula_lapack_link.so
libmwlapack: loaded /usr/local/cula/lib64/libcula_lapack_link.so@0x1a654200
libmwlapack: /usr/local/cula/lib64/libcula_lapack_link.so is not a compatibility layer.
libmwlapack: load error: /usr/local/cula/lib64/libcula_lapack_link.so: undefined symbol: cbbcsd_
libmwlapack: unloading libraries
Caught "std::exception" Exception message is:
/usr/local/cula/lib64/libcula_lapack_link.so: undefined symbol: cbbcsd_
>>


I also have the parallel computing toolbox installed. My Matlab version is:
7.14.0.739 (R2012a). I am using the free basic version of CULA, but if I can get this working I would be interested in the others.
metaheuristic
 
Posts: 6
Joined: Mon Jul 02, 2012 8:52 am

Re: Matlab 2012a Link Interface broken?

Postby kyle » Fri Jul 06, 2012 11:10 am

Code: Select all
undefined symbol: cbbcsd_


That looks like an issue with MATLAB 2012a. It seems Mathworks has updated their LAPACK library to include new functions for 2012a. We'll need to see what changed and mirror the functionality in the link library. Thanks for the report!
kyle
Administrator
 
Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm

Re: Matlab 2012a Link Interface broken?

Postby metaheuristic » Tue Jul 24, 2012 7:29 am

Any ETA on this being updated to work with Matlab 2012a? We are anxious to try and buy once we know it will work. Also what is the best way to notified when this is ready? Thanks
metaheuristic
 
Posts: 6
Joined: Mon Jul 02, 2012 8:52 am

Re: Matlab 2012a Link Interface broken?

Postby kyle » Thu Jul 26, 2012 8:23 am

To update on this matter:

The next version of link interface has been updated to support the new functionality of LAPACK 3.3.1 and 3.4. Previously, we only supported LAPACK 3.3.

This means you'll be able to successfully use the link interface in MATLAB 2012a which requires a LAPACK version of 3.3.1. MATLAB 2011a was still using LAPACK 3.2.2.

In MATLAB you can type 'version -lapack' to see which version of the library they are expecting.
kyle
Administrator
 
Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm

Re: Matlab 2012a Link Interface broken?

Postby metaheuristic » Thu Jul 26, 2012 11:25 am

When will the next version be ready to download and test?
-Ben
metaheuristic
 
Posts: 6
Joined: Mon Jul 02, 2012 8:52 am


Return to CULA Dense Support

Who is online

Users browsing this forum: No registered users and 2 guests

cron