Wolfram LibraryLink provides a powerful way to connect external code to Mathematica, enabling high-speed and memory-efficient execution.

learn more… | top users | synonyms

0
votes
0answers
23 views

How to get a script to print MaxMemoryUsed[] upon getting a system signal?

I want to instrument a Mathematica script so that, upon receiving any system signal (e.g. SIGINT, aka Ctrl-C) it will print1 the ...
48
votes
1answer
511 views

How to simplify writing LibraryLink code?

LibraryLink is an API for extending Mathematica through C or C++. It is very fast because it gives direct access to Mathematica's packed array data structure, without even needing to make a copy of ...
1
vote
0answers
40 views

Need some help on using LibraryLink

I'm learning to set up a LibraryLink in Mathematica. I'm able to reproduce some basic examples provided in Wolfram community. But I got stuck while doing a new one by myself. My source C file is ...
3
votes
1answer
159 views

CreateLibrary for CUDA with NVCCCompiler

I am currently learning to use CUDA to speed up calculations. The book I am working with uses C code on the CPU to supply certain variables etc.. So I would like to compile the give code in ...
6
votes
1answer
136 views

LibraryUnload fails

I can load my library, but I cannot unload it with LibraryUnload. I do have a ...
1
vote
0answers
55 views

How to call python code on an image

I have lots of image processing code written in python and would like to call it from within mathematica. Is there a way to transmit the image data directly like with c++ and LibraryLink? I'd rather ...
3
votes
0answers
45 views

weird behaviour of Listable fortran Librarylink function: different result each evaluation

I am working with fotran librarylink function currently. In this post, I will show some weird result of Listable fortran librarylink generated by intel compiler under windows (I tried gcc on linux the ...
7
votes
1answer
78 views

Is it possible for librarylink function to be Listable like that in Compile? [closed]

We know in Compile, there is an Option RuntimeAttributes -> {Listable} which can let the compiled function easily explore the ...
3
votes
0answers
57 views
14
votes
1answer
319 views

Asynchronous Programming

Consider that you would like to listen for Raw WiFi Packets coming into your NIC. Since Mathematica doesn't have built-in functions for such low level programming (as far as I know), one alternative ...
3
votes
0answers
75 views

LibraryLink: Asynchronous Examples

Inside the directory structure of LibraryLink there are several example files. Basically, they are divided in two types: Synchronous: demo.c, demo_error.c, ...
3
votes
2answers
171 views

What is the best way to work with complex number array in librarylink function in terms of C++ and Eigen?

I want to use C++ Eigen library in Mathematica Librarylink function. Currently, I have no problem dealing with real arrays. But I don't know what is the best way to deal with complex array in ...
1
vote
0answers
93 views

How to load to Mathematica functions linking to MKL with LibraryLink on OSX

I'm trying to load library funcitons to Mathematica which are using MKL functions but I'm constatly getting LibraryFunction::libload on OSX (this works fine on ...
1
vote
0answers
70 views

Getting error LibraryFunction::version from calls to LibraryFunctionLoad

I am having trouble running my program and keep getting this error: LibraryFunction::version: The version number 2 of the library is not consistent with the current or any previous ...
8
votes
1answer
175 views

How to use MacPorts' gcc with CreateLibrary?

Short version: What's the simplest way to use MacPorts' gcc with CreateLibrary? Long version: CreateLibrary uses ...
83
votes
6answers
7k views

Minimal effort method for integrating C++ functions into Mathematica

As of Mathematica 8, what is the minimal effort way to integrate an existing C++ function into Mathematica? I think we have these: MathLink (it was quite long ago I used it last time) communication ...
10
votes
2answers
394 views

Why LibraryLink function crashes at a second time?

Bug introduced in 9.0 or earlier and fixed in 10.3 Update As Todd Gayley commented under halirutan's answer, this is a bug. I'm trying link one of Lapack's function to Mathematica through ...
11
votes
1answer
284 views

Where is my memory? — LibraryLink never returns the memory

Bug introduced in 8.0 or earlier and persisting through 10.3 This is an example LibaryLink code from Mathematica documentation, which takes an integer and return an integer list: ...
8
votes
0answers
97 views

How to prevent the kernel from exiting when a LibraryLink function segfaults?

I do realize that this might be controversial, but I believe I have a real need for it this time. If a process tries to access memory at a location it doesn't own, it will by default exit with a ...
7
votes
1answer
103 views

LibraryLink: is WolframLibraryData libData persistent?

I am writing some C++ code that I want to call both through LibraryLink and independently from Mathematica. Thus it must be compatible with LibraryLink but not depend on it. When calling it from ...
1
vote
0answers
33 views

Is it possible to pass a rank-0 tensor to LibraryLink?

There is such a thing as a rank-0 MTensor. It's mentioned here. Can we pass such an object to a LibraryFunction? How? This question is mostly out of curiosity, and not practical need. But it might ...
13
votes
1answer
88 views

How to service preemptive computations while running a LibraryLink function?

Cross-posted to Wolfram Community The following is from the comparison between WSTP (MathLink) and LibraryLink in the documentation: When the Wolfram Language is waiting for a WSTP application ...
13
votes
1answer
183 views

MathLink (WSTP) vs LibraryLink performance

Has anyone benchmarked LibraryLink vs MathLink when passing large arrays? Specifically I would like to know how performance compares when using the following to pass and return a large array: ...
12
votes
2answers
145 views

How to properly generate messages from LibraryLink function?

I'm currently using WolframLibraryData::Message to generate messages from a library function, like this: ...
6
votes
1answer
108 views

Call library function in compile

On the Wolfram official website, there is an example of calling library function in a compiled function: ...
9
votes
2answers
129 views

Why does this LibraryLink example of LinkObject based passing not work? Bug or user error?

There's an example of LinkObject-based passing in the LibraryLink documentation. Unfortunately the cell in the documentation notebook is corrupted, but to skip ...
11
votes
1answer
241 views

LibraryLink Documentation

Bug fixed in version 10.0.0 The documentation for LibraryLink has the following example ...
1
vote
3answers
125 views

Is there a global setting for number form

I'm creating strings which represent equations in C to use with library link. The problem I have is that numbers in ScientificForm are no longer useful after they ...
16
votes
0answers
283 views

What are these new LibraryLink functions and datatypes for?

Looking at the LibraryLink examples, there are several new functions and objects, as well as example programs, that appeared in version 9. Are these documented? If yes, where? If would be nice to ...
1
vote
1answer
59 views

List all managed library expressions

Is it possible to get a list of all existing managed library expressions, from within Mathematica? Mathematica clearly needs to keep track of which ones exist. Or do I need to refer to the table of ...
2
votes
1answer
57 views

Where does the LibraryLink version information come from?

LibraryVersionInformation returns the following information: ...
12
votes
1answer
284 views

How to understand shared passing of a MTensor in LibraryLink?

According to the documentation, there are four different type of memory managing when passing a MTensor with LibraryLink: Automatic, "Constant", "Manual" and "Shared". The Automatic and "Manual" is ...
18
votes
3answers
489 views

Returning multiple results from a LibraryLink function

What is the best way to return multiple inhomogeneous results from a LibraryLink function? Imagine that the result of a single computation is several tensors of different dimensions and several ...
1
vote
1answer
226 views

Calling C++ from Mathematica Mac OS X

I am trying to call and run the C++ code at the bottom of this post which must be stored in a file called poissonvariate.cpp. I am getting the following error message which I will display here before ...
1
vote
1answer
34 views

Overwrite libraries created by LibraryLink

I'm using Library link on external C files which creates libraries for mathematica to use, but when i modify the source files and try to rebuild the libraries, the new libraries don't overwrite the ...
3
votes
0answers
161 views

Extracting an equation from an interpolated function

Im trying to use LibraryLink to do some calculations in C but part of the expression i want to calculate is an Interpolating Function. C cant use that obviously so I'm trying to shift it to a data ...
6
votes
1answer
111 views

Machine precision infinity

Is it possible to obtain the machine precision (double) version of Infinity? This is useful when using LibraryLink and C ...
5
votes
1answer
381 views

How can I integrate Open-CV with Mathematica?

I would like to run Open-CV functions from within Mathematica, can anyone figure out how to do this?
10
votes
1answer
400 views

How to use C language functions in Mathematica? [duplicate]

I'm trying to find out the way to use c-functions in Mathematica (I'm using 14 version) on OS X 10.10. For example I've got this lines of code: ...
9
votes
1answer
282 views

How to use RunProcess to import external function?

I have a functions written in an external language called GO. How can I quickly load them into the kernel for use as Mathematica functions? The two ways I've tried are with MathLink and LibraryLink ...
15
votes
0answers
961 views

Using TetGen in Mathematica to get 3D Voronoi diagram

In this post, the use of TetGen for 3D Voronoi tesselation has been briefly discussed. However there is still no info about the use of TetGen to generate a 3D Voronoi diagram. The TetGen documentation ...
1
vote
0answers
36 views

LibraryFunctionLoad not recognizing datatype

I am trying to use LibraryFunctionLoad with a function that relies on a derived type that is defined within the library. I've loaded the library prior to calling ...
3
votes
1answer
110 views

LibraryLink path problem

I have a library function that need to load some external data files. But it looks that the path in the default path of library function is the path that Mathematica is currently in. Is there a way ...
4
votes
0answers
55 views

Is it possible to pass a “shared” integer in librarylink?

MTensor supports shared pass, where the argument can be modified in the library function and that modification can be seen in Mathematica side. Is it possible to do the same thing to a integer or ...
10
votes
1answer
360 views

How to use MKL from Mathematica?

MKL has a lot of functions. The question is: how to use these functions directly from Mathematica? Furthermore, Mathematica shipped with some MKL libraries, which is located in ...
24
votes
4answers
4k views

Efficiently determining if 3D points are within a surface composed of polygons

This is the 2nd part of a previous question which I edited to make into 2 separate questions: Extracting polygons from 3D contour plot surface As an extension of my earlier question involving simple ...
6
votes
1answer
140 views

How to return a string from LibraryLink?

I need to return a string from a LibraryLink function. The documentation states: When a string is returned as a result, the Wolfram Language accesses the memory to convert it to its own internal ...
5
votes
1answer
132 views

Undocumented WolframLibraryData::evaluateExpression

It seem there's this promising function in the callback object provided to MathLink C functions: ...
4
votes
0answers
138 views

Compiling/calling Mathematica-generated .so from C

I'm trying to call a compiled function from a C program. I am generating the static object ...