Eventually this will be the way to go. To get the code out fast i suggest to release a seperate cuda and stream binary first and work on the DLL then. Seperate compilation of the features will be trivially achieved with a couple of #ifdefs and so the source tree can include both versions from the start.
> I have given some thought to the problem of distributing a single binary > to all participants, as well as that of reducing build complexity (the > number of different SDKs that has to be installed to build for various > target hardware. (Nvidia+ATI+Cell) In private communications I have > suggested that the A5 engine is delay loaded from a shared library (dll) > - but perhaps it wasn't clear how I intended to do this. > > So to illustrate, I have done exactly this to the ATI code. The new > (even simpler) API now looks like: > > bool A5BrookInit(int advance, int max_rounds, int condition, bool buggy, > bool use_tables); > int A5BrookSubmit(uint64_t start_value, unsigned int start_round); > bool A5BrookPopResult(uint64_t& start_value, uint64_t& stop_value, int& > start_round); > void A5BrookShutdown(); > > So this code would be safe to link into the standard executable, since > it would only try to load the Brook/CAL shared libraries as a result of > someone calling A5BrookInit (specify --brook on command line) > > To make things even simpler, the same style API could be used for all > hardware ( Cuda, Brook, OpenCL ) > > The code repository could then have code for all the various HW > platform, but the make file decides what to build depending on which > SDKs are installed. The binary distribution, would have a full set of > shared libraries, and the user decides run-time which to use. > > The full & updated sources for this "magic", can be found at the usual > drop site: http://traxme.net/a5/a5_linux.zip > > This new version also has some experimental table driven code, but I can > only get a 3% speed increase from my bit-for-bit implementation. I need > to look into texture-cache-coherency etc. > > PS! I hope i can soon use my new gfx card to do some actual work on the > project. It is getting cold outside, and I wouldn't mind warming my > house with some A5/1 :-) > > cheers, > > Frank > _______________________________________________ > A51 mailing list > [email protected] > http://lists.lists.reflextor.com/cgi-bin/mailman/listinfo/a51 > ______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de _______________________________________________ A51 mailing list [email protected] http://lists.lists.reflextor.com/cgi-bin/mailman/listinfo/a51
