[Numpy-discussion] Workaround for Ticket #1504 (MKL linking)

Dag Sverre Seljebotn dagss at student.matnat.uio.no
Mon Nov 15 13:10:39 EST 2010


On 11/15/2010 07:01 PM, Bruce Southey wrote:
> On 11/15/2010 11:48 AM, Felix wrote:
>    
>> On Nov 15, 2:00 am, Dag Sverre Seljebotn  wrote:
>>      
>>> On 11/15/2010 06:23 AM, Felix wrote:
>>>
>>>        
>>>> is there any workaround or fix for the problem described in Ticket
>>>> 1504?
>>>> http://projects.scipy.org/numpy/ticket/1504
>>>>          
>>> You can try to see if sys.setdlopenflags works for you, it does for me:
>>>
>>> http://www.mail-archive.com/numpy-discussion@scipy.org/msg23151.html
>>>        
>> That worked, thank you. Is this patch going to make it into numpy?
>> Being able to use a recent version of the MKL seems important.
>> Or is the long-term preferred solution still static linking?
>>
>> Felix
>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>      
> Just a note that patch this has to work for Python 2.4 as  Python 2.4
> lacks ctypes. This means that 'import ctypes' may or may not fail
> depending on whether or not ctypes package
> (http://python.net/crew/theller/ctypes/) has been installed.
>    

With a little more work one could probably fall back to import from the 
"dl" module in Python 2.4 (or, get the flag from the OS by writing a 
three-line Cython module). It obviously also need to fail gracefully on 
Windows if it doesn't already and so on.

David C. was -1 on inclusion in that thread, and noone spoke up in 
support, and so I did not bother to spend time improving the patch. It 
obviously need a little bit of polish before being submitted.

> Obviously the patch also has to work with different MKL versions but I
> don't use it.
>    

The patch is enabling a very generic mechanism and certainly won't stop 
older MKL versions from working.

Dag Sverre




More information about the NumPy-Discussion mailing list