Keivan wrote:With the increasing programmability of commodity graphics processing units (GPUs), these chips are capable of performing more than the specific graphics computations for which they were designed. They are now capable coprocessors, and their high speed makes them useful for a variety of applications.
An interesting suggestion. GPUs are very much a "moving target" in terms
of the features of specific boards and processors, and the development
tools that are available for them. From a practical standpoint, there are
two leading questions:
Can useful applications be developed, debugged, and deployed for any
particular board or family of boards before it becomes obsolete?
Or would it be better for the present to focus effort on other areas where
near-term payoff is guaranteed?
Given finite resources, we're betting on the second option--for example,
moving NEURON to multithreaded program execution will automatically
benefit all users who have multicore CPUs, without requiring them to buy
any particular graphics card or make any change whatsoever to
user-written code. This is an almost guaranteed result, achievable in the
relatively near term.
In the meantime, GPU hardware and GPGPU development tools will
mature, so that NEURON can be ported to such hardware if and when it
makes sense to do so. But NEURON is open source, so anyone with the
interest and skill to start a GPU development thread is welcome to do so
at any time.
PS: I don't find a proper place for a topic like this.
It probably belongs in
Computational neuroscience in general /
General questions and discussions about computational neuroscience
but for the time being I'll leave it here.