mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-26 07:57:58 +00:00
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/parallel
This commit is contained in:
commit
02d6dcece5
3
README
3
README
|
@ -30,6 +30,9 @@ Full installation of GNU Parallel is as simple as:
|
||||||
|
|
||||||
./configure && make && make install
|
./configure && make && make install
|
||||||
|
|
||||||
|
|
||||||
|
= Personal installation =
|
||||||
|
|
||||||
If you are not root you can add ~/bin to your path and install in
|
If you are not root you can add ~/bin to your path and install in
|
||||||
~/bin and ~/share:
|
~/bin and ~/share:
|
||||||
|
|
||||||
|
|
22
src/parallel
22
src/parallel
|
@ -2931,6 +2931,8 @@ sub no_of_cpus {
|
||||||
$no_of_cpus = no_of_cpus_aix();
|
$no_of_cpus = no_of_cpus_aix();
|
||||||
} elsif ($^O eq 'darwin') {
|
} elsif ($^O eq 'darwin') {
|
||||||
$no_of_cpus = no_of_cpus_darwin();
|
$no_of_cpus = no_of_cpus_darwin();
|
||||||
|
} elsif ($^O eq 'hpux') {
|
||||||
|
$no_of_cpus = no_of_cpus_hpux();
|
||||||
} else {
|
} else {
|
||||||
$no_of_cpus = (no_of_cpus_freebsd()
|
$no_of_cpus = (no_of_cpus_freebsd()
|
||||||
|| no_of_cpus_netbsd()
|
|| no_of_cpus_netbsd()
|
||||||
|
@ -2968,6 +2970,8 @@ sub no_of_cores {
|
||||||
$no_of_cores = no_of_cores_aix();
|
$no_of_cores = no_of_cores_aix();
|
||||||
} elsif ($^O eq 'darwin') {
|
} elsif ($^O eq 'darwin') {
|
||||||
$no_of_cores = no_of_cores_darwin();
|
$no_of_cores = no_of_cores_darwin();
|
||||||
|
} elsif ($^O eq 'hpux') {
|
||||||
|
$no_of_cores = no_of_cores_hpux();
|
||||||
} else {
|
} else {
|
||||||
$no_of_cores = (no_of_cores_freebsd()
|
$no_of_cores = (no_of_cores_freebsd()
|
||||||
|| no_of_cores_netbsd()
|
|| no_of_cores_netbsd()
|
||||||
|
@ -3166,6 +3170,24 @@ sub no_of_cores_aix {
|
||||||
return $no_of_cores;
|
return $no_of_cores;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub no_of_cpus_hpux {
|
||||||
|
# Returns:
|
||||||
|
# Number of physical CPUs on HP-UX
|
||||||
|
# undef if not HP-UX
|
||||||
|
my $no_of_cpus =
|
||||||
|
(`/usr/bin/mpsched -s 2>/dev/null | grep 'Locality Domain Count' | awk '{ print \$4 }'`);
|
||||||
|
return $no_of_cpus;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub no_of_cores_hpux {
|
||||||
|
# Returns:
|
||||||
|
# Number of CPU cores on HP-UX
|
||||||
|
# undef if not HP-UX
|
||||||
|
my $no_of_cores =
|
||||||
|
(`/usr/bin/mpsched -s 2>/dev/null | grep 'Processor Count' | awk '{ print \$4 }'`);
|
||||||
|
return $no_of_cores;
|
||||||
|
}
|
||||||
|
|
||||||
sub sshcommand {
|
sub sshcommand {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
if (not defined $self->{'sshcommand'}) {
|
if (not defined $self->{'sshcommand'}) {
|
||||||
|
|
|
@ -2227,7 +2227,7 @@ files over high speed connections.
|
||||||
The following will start one B<rsync> per big file in I<src-dir> to
|
The following will start one B<rsync> per big file in I<src-dir> to
|
||||||
I<dest-dir> on the server I<fooserver>:
|
I<dest-dir> on the server I<fooserver>:
|
||||||
|
|
||||||
B<find src-dir -type f -size +100000 | parallel -v ssh fooserver
|
B<cd src-dir; find . -type f -size +100000 | parallel -v ssh fooserver
|
||||||
mkdir -p /dest-dir/{//}\;rsync -Havessh {} fooserver:/dest-dir/{}>
|
mkdir -p /dest-dir/{//}\;rsync -Havessh {} fooserver:/dest-dir/{}>
|
||||||
|
|
||||||
The dirs created may end up with wrong permissions and smaller files
|
The dirs created may end up with wrong permissions and smaller files
|
||||||
|
@ -2235,6 +2235,11 @@ are not being transferred. To fix those run B<rsync> a final time:
|
||||||
|
|
||||||
B<rsync -Havessh src-dir/ fooserver:/dest-dir/>
|
B<rsync -Havessh src-dir/ fooserver:/dest-dir/>
|
||||||
|
|
||||||
|
If you are unable to push data, but need to pull them and the files
|
||||||
|
are called digits.png (e.g. 000000.png) you might be able to do:
|
||||||
|
|
||||||
|
<seq -w 0 99 | parallel rsync -Havessh fooserver:src-path/*{}.png destdir/>
|
||||||
|
|
||||||
|
|
||||||
=head1 EXAMPLE: Use multiple inputs in one command
|
=head1 EXAMPLE: Use multiple inputs in one command
|
||||||
|
|
||||||
|
@ -3455,10 +3460,10 @@ fixed in that version.
|
||||||
=item *
|
=item *
|
||||||
|
|
||||||
A complete example that others can run that shows the problem. This
|
A complete example that others can run that shows the problem. This
|
||||||
should preferably be small and simple. A combination of B<seq>,
|
should preferably be small and simple. A combination of B<yes>, B<seq>,
|
||||||
B<cat>, B<echo>, and B<sleep> can reproduce most errors. If your
|
B<cat>, B<echo>, and B<sleep> can reproduce most errors. If your
|
||||||
example requires large files, see if you can make them by something
|
example requires large files, see if you can make them by something
|
||||||
like B<seq 1000000> > B<file>.
|
like B<seq 1000000> > B<file> or B<yes | head -n 10000000> > B<file>.
|
||||||
|
|
||||||
=item *
|
=item *
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue