I'm looking into creating a C++ numerical algebra library with extentions into pattern recognition and other fields. Right now, I am developing in Microsoft Visual C++ 6.0 and GNU G++ on Solaris and incorporating LAPACK routines. Due to its applications, much processing power is required for real-world tasks. As such, I would like to allow distributed and/or parallel processing. I have these questions I haven't been able to answer:
1. Does LAPACK naturally distribute tasks between processors on a dual-processor or larger-scale parallel processing systems?
2. Right now, I am only familiar with threads (pthreads). Are there any other recommend libraries or methods for developing distributed/parallel applications?
Thanks in advance.