https://github.com/perl-openmp/p5-openmp-simple
Wrapper around Alien::OpenMP that provides helpful C macros and runtime functions
https://github.com/perl-openmp/p5-openmp-simple
openmp perl
Last synced: 1 day ago
JSON representation
Wrapper around Alien::OpenMP that provides helpful C macros and runtime functions
- Host: GitHub
- URL: https://github.com/perl-openmp/p5-openmp-simple
- Owner: Perl-OpenMP
- Created: 2021-06-16T16:47:38.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-03-11T18:35:12.000Z (4 months ago)
- Last Synced: 2025-04-08T10:54:06.602Z (3 months ago)
- Topics: openmp, perl
- Language: Perl
- Homepage: https://metacpan.org/dist/OpenMP-Simple
- Size: 5.84 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: Change
Awesome Lists containing this project
README
# p5-OpenMP::Simple
This module will provide `Inline::C` related things with conveniences for building out OpenMP power subs and runtime things. It is a goal to provide a very simple stepping stone that leads developers towards more advanced `XS` typedefs and other binding options, and if needed, `PDL`.
**It's happening! See code for current state, feedback needed!**
Current thought: OpenMP::Simple should basically be the encapsulation of:
* `Inline::C`+`Alien::OpenMP` (with `omp.h` + [auto_include](https://metacpan.org/pod/Inline::C#C-CONFIGURATION-OPTIONS))
* an addition "auto_include" that defines some helpful macros and utility functionsExample of things that will be provided to make it easier to blend OpenMP decorated `Inline::C`
into Perl programs:* C macros that work with environmental variables managed by `OpenMP::Environment`, so that the OpenMP is responsive to the process' `%ENV` in a manner similar to running a compiled binary (here we're dealing with shared libraries prepared by `Inline::C`)
* Simplified C functions that are make it as easy as possible to convert regularized data structures into their pure C equivalent (e.g., a 2D Perl array reference of floating point values)