Copy link to clipboard
Copied
Hello,
Has anyone managed to create a Plug In with OpenMP for Photoshop?
While we managed to do so on Windows, the thing doesn't work on OS X and we wondered if there are any one experienced with that here to assist.
Better yet if anyone managed doing so using Intel C++ Compiler.
Thank You.
Copy link to clipboard
Copied
Yes, I use OpenMP in my plugins. Works very well on both Windows and Mac platforms. ICC also works pretty nice.
Copy link to clipboard
Copied
Hi,
Are you using Photoshop's OpenMP or deliver your own OpenMP Library?
Copy link to clipboard
Copied
For Photoshop's prior to CC (CS5, CS6 for example) I place "libomp5md.dll" into Photoshop directory. For Photoshop's higher than CC I use "libomp5md.dll" that delivered with Photoshop.
Also I tried to compile "libomp" from scratch, but nothing changes in speed or other behavior.
Copy link to clipboard
Copied
Do you do it in OS X as well?
Copy link to clipboard
Copied
In case Mac OS X I do nothing extra with OpenMP. It is itself works somehow. 😃
Copy link to clipboard
Copied
TRANTOR, I have the strange case where I run 2 different plug in's of us which uses OpenMP (Static, Intel OpenMP) Photoshop crashes (On OS X only).
Have you ever encountered that?
Looking at the crash report it seems like though the first Plug In finished its task (Successfully) there are still threads under its name.
Any idea?
Thank You.
Copy link to clipboard
Copied
Well, after some similar issues with OpenMP + Intel 2017 (not all loops serializes, strange crashes and so on) I completely moved into Thread Building Blocks. It looks like more comfortable solution for me.
You can download source and compile static libraries for Windows for example. In case of OS X you can use already compiled dylibs directly with static switch in Xcode.
Copy link to clipboard
Copied
Copy link to clipboard
Copied
I'm no threading expert so I asked our architect!
Unfortunately we don’t have a great story for how to do threading in third party plugins. The best answers I have (in order) are:
Copy link to clipboard
Copied
Hi Tom,
Great information.
I would add that in OS X it is better to lik for Dynamic Linked version of OpenMP and use Photoshop's 'libiomp5.dylab'.
In Windows things are much better (Works even in static linking) yet still just work against Photoshop's `libiomp5.dll`.