Jump to content


Check out our Community Blogs

gregwarner's Content

There have been 7 items by gregwarner (Search limited from 26-November 19)


Sort by                Order  

#672031 Dynamic Arrays: Using malloc() and realloc()

Posted by gregwarner on 09 June 2014 - 08:34 AM in C/C++ Tutorials

If pointer is a pointer of int type, then you need to cast it as such:
int *pointer = (int *) malloc(2*sizeof(int));



#671254 Goopies - Evolving neural networks (w.i.p.)

Posted by gregwarner on 16 May 2014 - 08:43 AM in Projects and Site Reviews

Yeah, better to save it for a later run, once you've got everything else nailed down. For one, you'd have to write a bunch of checks to perform on the target hardware to see if CUDA is even available, and branch off into the CUDA code if it detects the available hardware. Even more checks and branches if you want to support OpenCL. And then you have to provide a standard version when neither of those hardware configurations are available. A logistical nightmare if you want to make your code fully portable across all possible configurations.




#671249 Goopies - Evolving neural networks (w.i.p.)

Posted by gregwarner on 16 May 2014 - 06:28 AM in Projects and Site Reviews

Thus, I'm not too concerned about graphic processing. I let SFML handle it for me instead (I believe it already does multi-threading). In fact the simulation is very light in terms of graphics (just a couple of textures are used, and when zoomed out Guppies and Pellets are not even rendered!). And on the new version you can actually close the render-window completely in order to run the sim faster when you're not looking. :)


CUDA/OpenCL isn't necessarily for graphics programming. These API's have been created by the graphics chip manufacturers in order to allow their hardware to be repurposed for general purpose programming. You can utilize the graphics chip's vast array of cores to crunch any algorithm you like, including your NN cycles. I've only briefly experimented with this technology myself, so I wouldn't be able to tell you how easy or difficult this would be, but it seems like it would lend itself perfectly to what you're trying to achieve. Don't know, though. Your addition of multithreading on the main CPU might have been all the performance boost you needed. CUDA/OpenCL is only if you really want to milk every last drop of processing power out of the whole computer.



#671210 Goopies - Evolving neural networks (w.i.p.)

Posted by gregwarner on 15 May 2014 - 01:34 PM in Projects and Site Reviews

I hadn't realized you were using a parallel processing library for simultaneous multi-threading. I wonder, NVidia's got some form of massively multi-threading architecture whereby it allows you to use the hundreds of cores in your GPU for doing massively multi-threaded calculations. I'm sure AMD has some similar mechanism in their Radeon cards. Would something like this potentially benefit the Guppies project? With 2 graphics cards bridged together, who knows, you might be able to run thousands of simultaneous Guppies!



#671127 Goopies - Evolving neural networks (w.i.p.)

Posted by gregwarner on 14 May 2014 - 12:55 PM in Projects and Site Reviews

My plan is to let it run 24/7 in a back room and hope it developes sentience! :biggrin:

 

But seriously, this'd make a wicked screen saver!




#671016 Goopies - Evolving neural networks (w.i.p.)

Posted by gregwarner on 12 May 2014 - 08:08 AM in Projects and Site Reviews

Is it going to be Goopies T-Shirts for the release event? :D


If you start a Teespring campaign, I'll definitely order!



#670849 Goopies - Evolving neural networks (w.i.p.)

Posted by gregwarner on 06 May 2014 - 06:14 AM in Projects and Site Reviews

I haven't posted in a while, but I just wanted to drop a note in here nino to let you know, I'm still following the progress of this project, and it's still of great interest to me! Great work so far, and I'm looking forward to getting to see the release!




Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download