I put my stuff into a little
package: https://github.com/KristofferC/Pardiso.jl
If anyone is interested in trying it out and give some
feedback/suggestions, it is much appreciated. I am good at taking critique
:)
// Kristoffer
On Wednesday, May 13, 2015 at 11:28:58 AM UTC+2, Kristoffer Carlsson wrote:
>
> Excellent Tony! dlopening libgomp in the start fixed it. I got some
> segfaults but it was because I had misunderstood some of the data types
> pardiso needed.
>
> I guess if you have the code in place for wrapping either the MKL Pardiso
> or the newest Pardiso then it shouldn't be too hard to write the code for
> the other
>
> Pardiso is free for academic use now so it's availability could be
> considered to be greater than MKL which is just available for free on linux
> with academic licence IIRC.
>
> Many thanks for your help.
>
> / Kristoffer
>
> On Wednesday, May 13, 2015 at 1:33:16 AM UTC+2, Tony Kelman wrote:
>>
>> Mostly likely, libpardiso isn't linked to libgomp. Check with ldd, and
>> try dlopen'ing libgomp first. If this is the version of Pardiso from MKL,
>> then it's probably using libiomp instead.
>>
>> A Pardiso wrapper package would be quite useful, though it's a pretty
>> messy situation since Intel MKL includes an implementation of Pardiso that
>> uses an older incompatible API. Based on availability and licensing, I
>> suspect the MKL version of Pardiso would be more widely usable.
>>
>>
>> On Tuesday, May 12, 2015 at 2:07:53 AM UTC-7, Kristoffer Carlsson wrote:
>>>
>>> Hello everyone,
>>>
>>> I am trying to call the Pardiso library (sparse solver library) in the
>>> following way:
>>>
>>> julia> l = Libdl.dlopen("libparadiso", Libdl.RTLD_GLOBAL)
>>> Ptr{Void} @0x00000000014e9510
>>>
>>> julia> init = Libdl.dlsym(l, "pardisoinit")
>>> Ptr{Void} @0x00007f920f989f50
>>>
>>> julia> pt = [0]
>>>
>>> julia> dparm = zeros(64)
>>>
>>> julia> err = [0]
>>>
>>> julia> ccall(init, Void, (Ptr{Int}, Ptr{Int}, Ptr{Int}, Ptr{Float64},
>>> Ptr{Int}) , pt, &1, &0, dparm, err)
>>>
>>> julia: symbol lookup error: /usr/lib/libparadiso.so: undefined symbol:
>>> omp_get_wtime_
>>>
>>> and then julia crashes.
>>>
>>> Can anyone tell me how I get the openmp symbols into julia or what I
>>> have to do to fix the problem.
>>>
>>> Or even better if someone knows of an already existing Pardiso wrapper
>>> for julia.
>>>
>>> Best regards,
>>>
>>> Kristoffer
>>>
>>