=pod
README for PDL::SVDSLEPc
=head1 ABSTRACT
PDL::SVDLIBC - PDL interface to SLEPc sparse singular value decomposition
=head1 REQUIREMENTS
=over 4
=item PDL
Tested version 2.015.
=item SLEPc
"Scalable Library for Eigenvalue Problem Computations".
Tested version 3.4.2, debian packages libslepc3.4.2, libslepc3.4.2-dev.
Available from L<http://slepc.upv.es/>.
=item PETSc
"Portable, Extensible Toolkit for Scientific Computation", required by SLEPc.
Tested version 3.4.2, debian packages petsc3.4.2, petsc3.4.2-dev.
Available from L<http://www.mcs.anl.gov/petsc/>.
=back
=head1 DESCRIPTION
PDL::SVDSLEPc provides a PDL interface to the SLEPc routines
for singular value decomposition of large sparse matrices.
=head1 BUILDING
Build this module as you would any perl module, by doing something
akin to the following:
gzip -dc distname-XX.YY.tar.gz | tar -xof -
cd distname-XX.YY/
perl Makefile.PL
make
make test # optional
make install
See L<perlmodinstall>(1) for details.
During the build process, you may be prompted for the locations
of required libraries, header files, etc.
=head1 KNOWN BUGS
=head2 OpenMPI errors "mca: base: component find: unable to open ..."
You might see OpenMPI errors such as the following when trying to use this module:
mca: base: component find: unable to open /usr/lib/openmpi/lib/openmpi/mca_paffinity_hwloc: perhaps a missing symbol, or compiled for a different version of Open MPI? (ignored)
If you do, you probably need to configure your runtime linker to pre-load the OpenMPI libraries, e.g. with
export LD_PRELOAD=/usr/lib/libmpi.so
or similar. An alternative is to build OpenMPI with the C<--disable-dlopen> option.
See L<http://www.open-mpi.org/faq/?category=troubleshooting#missing-symbols> for details.
=head2 OpenMPI warnings "... unable to find any relevant network interfaces ... (openib)"
This OpenMPI warning has been observed on Ubuntu 14.04; it can be suppressed by setting the OpenMPI
MCA C<btl> ("byte transfer layer") parameter to exclude the C<openib> module.
This can be
accomplished in various ways, e.g.:
=over 4
=item via command-line parameters to C<mpiexec>:
Call your program as:
$ mpiexec --mca btl ^openib PROGRAM...
=item via environment variables
You can set the OpenMPI MCA paramters via environment variables, e.g.:
$ export OMPI_MCA_btl="^openib"
$ PROGRAM...
=item via configuration files
You can set OpenMPI MCA parameters via F<$HOME/.openmpi/mac-params.conf>:
##-- suppress annoying warnings about missing openib
btl = ^openib
=back
See L<http://www.open-mpi.de/faq/?category=tuning#setting-mca-params> for more details.
=head1 AUTHOR
Bryan Jurish E<lt>moocow@cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (c) 2015, Bryan Jurish. All rights reserved.
This package is free software, and entirely without warranty.
You may redistribute it and/or modify it under the same terms
as Perl itself, either 5.20.2 or any newer version of Perl 5
you have available.
=cut