This project has moved. For the latest updates, please go here.

.NET 4.0 Complex and Azure

Oct 29, 2009 at 6:02 AM

Hey Guys,

I finally have some spare time to work on the project.  I'm finishing up the vector class and creating the native wrapper functions that the Vector uses (just ATLAS and MKL at the moment).

A couple unrelated questions:

1) Should we modify our complex class's interface to match the new .NET 4.0 complex type? Also, should we create a .NET 4.0 build of the library (in addtion to the .NET 2.0 version when 4.0 ships) that uses .NET 4.0 complex type instead of ours? If the two have the same interface, it shouldn't be too difficult.

2) I've been looking at Azure for a client's project and I'm wondering with we should add Azure support to the library sooner than later.  By support, I mean for an application already running on Azure, not a desktop app calling Azure to handle computations.  We might be able to create a version of Parallel.For that works over multiple Azure worker processes and reuse the ManagedXXXProvider, or create a AzureXXXProvider that handles the threading.  I'll tinker with this a bit once the Vector and Matrix classes, and native wrappers are complete.  

Thanks,
Marcus

 

Coordinator
Oct 29, 2009 at 7:39 PM
 I finally have some spare time to work on the project.  I'm finishing up the vector class and creating the native wrapper functions that the Vector uses (just ATLAS and MKL at the moment).

Brilliant; I'm currently fixing some distributions but am happy to help out with the Matrix class after that.

1) Should we modify our complex class's interface to match the new .NET 4.0 complex type? Also, should we create a .NET 4.0 build of the library (in addtion to the .NET 2.0 version when 4.0 ships) that uses .NET 4.0 complex type instead of ours? If the two have the same interface, it shouldn't be too difficult.

I'd try to use as much BCL as we can; i.o.w. as soon as 4.0 is here I think we should use their complex and Parallel classes. That said, I saw a tweet by Jeffrey Sax saying there were some very basic problems with the Complex class in BCL. We'd have to be careful about that I think.

2) I've been looking at Azure for a client's project and I'm wondering with we should add Azure support to the library sooner than later.  By support, I mean for an application already running on Azure, not a desktop app calling Azure to handle computations.  We might be able to create a version of Parallel.For that works over multiple Azure worker processes and reuse the ManagedXXXProvider, or create a AzureXXXProvider that handles the threading.  I'll tinker with this a bit once the Vector and Matrix classes, and native wrappers are complete.

That sounds like a very cool idea. Our Provider model seems very powerful; I'm using DryadLinq at the moment and I can imagine having a similar provider for Dryad. Sounds like a plan!

Cheers, Jurgen