View previous topic :: View next topic |
Author |
Message |
Ronan
Joined: 27 Jun 2007 Posts: 19
|
Posted: Mon Nov 26, 2012 8:13 am Post subject: OpenMP with Silverfrost |
|
|
Hi All,
I 've 2 question.
1). Is there any way to use OpenMP compiler directives to benefit from parallelism with Silverfrost Fortran compiler. In official OpenMP website it doesn't mention the Silverfrost fortran compiler is compatible for that, instruction to use the OpenMP features is simply add the switch -fopenmp and start using the compiler directive in your source code. But it doesn't seem to work Silverfrost is there any workaround or trick to get it working?
2.) Is the Lapack library can be used as external library in Silverfrost Fortran. Does any of you used it before?
Regards, |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7928 Location: Salford, UK
|
Posted: Mon Nov 26, 2012 12:05 pm Post subject: |
|
|
OpenMP cannot be used with FTN95 or any other Silverfrost compilers.
We have not released a Lapack DLL but there is no reason why you should not build one yourself from the open access source code. Alternatively you could use try using one of the pre-built DLLs but you would need to read up on how to create bindings to third party DLLs. See the FTN95.chm help file under Win32 platform->Mixed language programming. |
|
Back to top |
|
|
Ronan
Joined: 27 Jun 2007 Posts: 19
|
Posted: Mon Nov 26, 2012 2:02 pm Post subject: |
|
|
What other alternatives do have for parallelism in Silverfrost? |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7928 Location: Salford, UK
|
Posted: Mon Nov 26, 2012 9:09 pm Post subject: |
|
|
There are none. |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2819 Location: South Pole, Antarctica
|
Posted: Wed Nov 28, 2012 12:47 am Post subject: |
|
|
Well, not completely none, Paul, did you forget at least the multithreading?
1) It does not support OpenMP but you can still use parallelism utilizing NET multithreading. See nice example in "Silverfrost NET examples" and one of my posts here few months ago discussing 64bit compiler
2) You can use third party parallel libraries for specific tasks like linear algebra. Works fine, gets speedup almost proportional to processor count. And for one specific task (i think skyline solver) it gets 10x speedup respect to serial execution on fastest Intel processor when run on 4-core AMD processors (even cheap 4-core AMD laptop is twice faster then fastest 4-core Intel desktop CPU. We discussed that with the author and seems this is legitimate miracle)
3) I tried also to use parallel language of same company which made above parallel library for the systems of linear equations a decade ago which was linkable to any Fortran compiler, but above multithreading in NET is seems better because it has LOCK function which allows you to print out of different processors streams during debugging (or use some resources consequently) and not afraid any conflicts and is 100% Fortran |
|
Back to top |
|
|
|