Hi All, I just decided to get involved more in Mono and all related tools. Was an hardcore .NET Framework (Windows) developer but now it seems time to let go and explore something else. And Mono is just what I need!
Anyway, I was quite pleased to see the Mono.Simd experimental addition. It's about time someone in the CIL world put efforts in exploiting the power of the SIMD instruction sets on modern x86 CPU, even more because most of the processing power increase in these CPU comes from SSE and al. I have a couple of comments on Mono.Simd: 1) Why calling it something that ties it to the underlying technology used? Why not calling it Mono.Math.Advanced, or Mono.Math.Vectors, or Mono.Math.Matrix? It doesn't have a big impact and it's just a question of taste I guess, but I find that Mono.Simd relates too much to the implementation technology. 2) Would it be possible to use generic instead of "hardcoding" the types and sizes of vectors in each class? I don't know if it's possible, but there are probably ways to pre-instantiate templates like you do in C++, so you have each supported template specification ready, and/or design the native underlying module that actually does the transformation to SIMD instructions do it in hardware only for the supported types. This would make this library quite flexible I think. 3) I would add more high level constructs like Matrix that make use of the SIMD hardware. 4) Maybe classes to help "vectorize" loops and other code construct would be good, since the runtime is not currently able to vectorize code itself. I still don't know how this could be done, but something like the "using" directive in C#, but using method calls and not extension to the language, could do the trick. That's it for now. Keep up the good work on Mono, we need it in the marketplace! -- View this message in context: http://www.nabble.com/Mono.Simd---Phylosophical-comments-tp20503986p20503986.html Sent from the Mono - General mailing list archive at Nabble.com. _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
