Skip to content

Commit

Permalink
fix errors
Browse files Browse the repository at this point in the history
  • Loading branch information
Whiteknight committed Jun 21, 2010
2 parents 217e5b9 + f733a83 commit 425c3bf
Show file tree
Hide file tree
Showing 18 changed files with 254 additions and 1,438 deletions.
55 changes: 0 additions & 55 deletions Configure.nqp

This file was deleted.

1 change: 0 additions & 1 deletion PARROTREVISION

This file was deleted.

146 changes: 69 additions & 77 deletions README
Expand Up @@ -2,7 +2,7 @@ parrot-linear-algebra

A linear algebra library package for the Parrot Virtual Machine

== PROJECT GOALS
== PROJECT GOALS ==

The goals of the Parrot-Linear-Algebra (PLA) project are to develop a good,
high-performance linear algebra toolset for use with the Parrot Virtual
Expand All @@ -14,42 +14,34 @@ In addition to these core goals, PLA may also provide a series of ancillary
tools that are similar in implementation to it's high-performance core
utilities.

OLD Project Site: http://code.google.com/p/matrixy
NEW Project Site: http://github.com/Whiteknight/matrixy
Parrot: http://www.parrot.org

== STATUS
== STATUS ==

PLA is being actively developed. It has core PMC types that build, a build
and installation system, and a growing test suite.

PLA currently provides these PMC types:

=over 4

=item NumMatrix2D
* NumMatrix2D

A 2-D matrix containing floating point values.
A 2-D matrix containing floating point values.

=item PMCMatrix2D
* PMCMatrix2D

A 2-D matrix containing PMC pointers
A 2-D matrix containing PMC pointers

=item ComplexMatrix2D
* ComplexMatrix2D

A 2-D matrix containing Complex values, optimized to store complex values
directly instead of using an array of Parrot's Complex PMC type.
A 2-D matrix containing Complex values, optimized to store complex values
directly instead of using an array of Parrot's Complex PMC type.

=item CharMatrix2D
* CharMatrix2D

A 2-D character matrix that doubles as an array of strings with fixed-row-length
storage.

=back
A 2-D character matrix that doubles as an array of strings with
fixed-row-length storage.

PLA does not yet offer matrix or tensor types with more than two dimensions.

== DEPENDENCIES
== DEPENDENCIES ==

PLA has several dependencies. To help manage dependencies, you may want
to install Plumage
Expand All @@ -58,78 +50,78 @@ http://gitorious.org/parrot-plumage

This is not a dependency, just a convenience.

Here are a list of dependencies for PLA:
Each PLA release will target different versions of the various dependencies.
See the file RELEASES for information about individual releases and their
dependencies.

=over 4

=item Parrot 2.2.0

PLA will be built and tested against the 2.2.0 release of Parrot. Get the 2.2.0
release here:
Here are a list of dependencies for PLA:

https://svn.parrot.org/parrot/tags/RELEASE_2_2_0
* Parrot 2.2.0

PLA will not build at all with older releases. PLA will not build with the
long-term supported 2.0.0 release.
PLA is an extension for Parrot and requires Parrot to build and run.
Releases of PLA will target supported releases of Parrot. Supported
releases are typically X.0, X.3, X.6, X.9. Releases for Parrot can be
retrieved from

Starting April 2010 PLA will be tracking Parrot's supported releases which are
made public every 3 months. The 2.3.0 release will be in April 2010, and PLA
will be built and tested against that release until the 2.6.0 release in July,
then the 2.9.0 release in October, and then the 3.0.0 release in January.
http://www.parrot.org

PLA expects a built and installed Parrot. For more information about the
installation process
Development between releases will typically target the latest supported
release, though it may begin to target more recent development releases in
anticipation of the next supported release.

=item CBLAS or ATLAS
PLA expects a built and installed Parrot. For more information about the
installation process

PLA depends on either CBLAS or ATLAS. The BLAS library is written in Fortran,
so C language bindings are all translations of the Fortran interface.
Unfortunately there is not a good, standard way of translating the Fortran
source to C API bindings, so not all libraries that provide a C API for BLAS
will have an interface compatible with PLA. We are working to be more accepting
of small differences in various interfaces, but this work is moving slowly.
* CBLAS or ATLAS

We recommend the ATLAS library for current development and testing work. On
Ubuntu or other Debian-based distros, you can type this incantation to get it
automatically:
PLA depends on either CBLAS or ATLAS. The BLAS library is written in
Fortran, so C language bindings are all translations of the Fortran
interface. Unfortunately there is not a good, standard way of translating
the Fortran source to C API bindings, so not all libraries that provide a
C API for BLAS will have an interface compatible with PLA. We are working
to be more accepting of small differences in various interfaces, but this
work is moving slowly.

sudo apt-get install libatlas3-base
sudo apt-get install libatlas-base-dev
We recommend the ATLAS library for current development and testing work.
On Ubuntu or other Debian-based distros, you can type this incantation to
get it automatically:

On Fedora you can type:
sudo apt-get install libatlas3-base
sudo apt-get install libatlas-base-dev

sudo yum install atlas-devel
On Fedora you can type:

Notice that the default vesions of the atlas library are only generally
optimized. If you are able try to use a platform-specific variant (such
as "-sse2" or "-3dnow") for better performance. See the ATLAS homepage for more
information:
sudo yum install atlas-devel

http://math-atlas.sourceforge.net/
Notice that the default vesions of the atlas library are only generally
optimized. If you are able try to use a platform-specific variant (such
as "-sse2" or "-3dnow") for better performance. See the ATLAS homepage for
more information:

=item Kakapo Release-10
http://math-atlas.sourceforge.net/

Kakapo is a framework library for the NQP language. PLA currently uses Kakapo to
implement it's unit testing suite. You can build and install PLA without Kakapo,
but you will need the framework to run the test suite. You can obtain Kakapo
from it's source code repository on Gitorious, and get documentation from its
project page on Google Code:
* Kakapo

http://gitorious.org/kakapo
http://code.google.com/p/kakapo-parrot/
Kakapo is a framework library for the NQP language. PLA currently uses
Kakapo to implement it's unit testing suite. You can build and install
PLA without Kakapo, but you will need the framework to run the test suite.
You can obtain Kakapo from it's source code repository on Gitorious, and
get documentation from its project page on Google Code:

=item Other
http://gitorious.org/kakapo
http://code.google.com/p/kakapo-parrot/

Currently, PLA is only tested to build and work on Linux and other Unix-like
systems with all the aforementioned prerequisites. The setup process pulls
configuration information from your installed version of Parrot, so it will
attempt to use the same compiler with the same compilation options as Parrot
was compiled with. If another compiler absolutely needs to be used, there may
be a way to specify that, but no documentation about the process exists.
* Other

=back
Currently, PLA is only tested to build and work on Linux and other
Unix-like systems with all the aforementioned prerequisites. The setup
process pulls configuration information from your installed version of
Parrot, so it will attempt to use the same compiler with the same
compilation options as Parrot was compiled with. If another compiler
absolutely needs to be used, there may be a way to specify that, but no
documentation about the process exists.

== BUILDING
== BUILDING ==

To get, build, test, and install Parrot-Linear-Algebra, follow these steps
(on Linux):
Expand All @@ -140,11 +132,11 @@ To get, build, test, and install Parrot-Linear-Algebra, follow these steps
parrot setup.pir test
parrot setup.pir install

Testing only works if you have Kakapo installed on your system. To install, you
may need root privileges on your system. There is currently no known way to
build or deploy PLA on Windows.
Testing only works if you have Kakapo installed on your system. To install,
you may need root privileges on your system. There is currently no known way
to build or deploy PLA on Windows.

== CREDITS
== CREDITS ==

Original versions were developed as part of the Matrixy project by Blairuk.
Some parts of the test suite were provided by Austin Hastings.
Expand Down
9 changes: 9 additions & 0 deletions RELEASES
@@ -0,0 +1,9 @@
TBA : Release 0.1
Parrot Version: 2.3.0
Kakapo Version: TBA
New Features:
- Initial release
- Add stable types ComplexMatrix2D, NumMatrix2D, PMCMatrix2D
Known Issues:
- CharMatrix2D is incomplete and fails tests
- Very few bindings with BLAS, very little arithmetic support
111 changes: 0 additions & 111 deletions config/Makefile.in

This file was deleted.

0 comments on commit 425c3bf

Please sign in to comment.