Skip to content

Commit

Permalink
rolling 1.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
oodler577 committed Jul 20, 2024
1 parent 6448d3f commit 77f8904
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 16 deletions.
3 changes: 3 additions & 0 deletions Change
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@

1.0.1 Fri Jul 19 09:07:09 PM UTC 2024
- update POD

1.0.2 Sat Jul 20 09:07:09 PM UTC 2024
- update POD
14 changes: 14 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
clean:
dzil clean
rm -rf _Inline

test: clean
dzil test

prepare: clean
dzil build
mv -vf *.tar.gz ./releases/
dzil clean
git add ./releases/*.tar.gz
git status
@echo "tag and push ... "
2 changes: 0 additions & 2 deletions dist.ini
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,3 @@ OpenMP::Simple = 0
[PruneFiles]
filename = _Inline
filename = releases
[ExecDir]
dir = bin
41 changes: 27 additions & 14 deletions lib/OpenMP.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use warnings;
use OpenMP::Simple;
use OpenMP::Environment;

my $VERSION = q{1.0.1};
my $VERSION = q{1.0.2};

sub new {
my ($pkg) = shift;
Expand All @@ -29,46 +29,47 @@ OpenMP - Metapackage for using OpenMP in Perl
=head1 SYNOPSIS
#!/usr/bin/env perl
use strict;
use warnings;
use OpenMP;
use Inline (
C => 'DATA',
with => qw/OpenMP::Simple/,
);
my $omp = OpenMP->new;
for my $want_num_threads ( 1 .. 8 ) {
$omp->env->omp_num_threads($want_num_threads);
$omp->env->assert_omp_environment; # (optional) validates %ENV
# call parallelized C function
my $got_num_threads = _check_num_threads();
printf "%0d threads spawned in ".
"the OpenMP runtime, expecting %0d\n",
$got_num_threads, $want_num_threads;
}
__DATA__
__C__
/* C function parallelized with OpenMP */
int _check_num_threads() {
int ret = 0;
PerlOMP_UPDATE_WITH_ENV__NUM_THREADS /* <~ MACRO x OpenMP::Simple */
PerlOMP_GETENV_BASIC
#pragma omp parallel
{
#pragma omp single
ret = omp_get_num_threads();
}
return ret;
}
Expand All @@ -79,6 +80,16 @@ also makes documentation and tutorials much more clear. It also makes it easier
to install everything needed since this module will pull in L<OpenMP::Simple>
and L<OpenMP::Environment>.
Installing this module will also install whichever of the following modules are
not already on your system: L<OpenMP::Environment>, L<OpenMP::Simple>, L<Inline::C>,
and L<Alien::OpenMP>.
OpenMP::Simple - provides C MACROS and convenient runtime functions for use in the
Perl environment; e.g., C<PerlOMP_GETENV_BASIC>.
OpenMP::Environment - provides accessors for environmental variables the OpenMP
run-time considers important; e.g., C<OMP_NUM_THREADS>.
=head1 METHODS
There are just 2 methods,
Expand All @@ -103,6 +114,8 @@ This is a module that aims at making it easier to bootstrap Perl+OpenMP
programs. It is designed to work together with L<OpenMP::Environment> and
L<OpenMP::Simple>.
B<Project website:> L<https://github.com/Perl-OpenMP>.
This module heavily favors the C<GOMP> implementation of the OpenMP
specification within gcc. In fact, it has not been tested with any other
implementations because L<Alien::OpenMP> doesn't support anything other
Expand Down
Binary file added releases/OpenMP-1.0.2.tar.gz
Binary file not shown.

0 comments on commit 77f8904

Please sign in to comment.