sugesstions about the tools and technologies users require.

Post Reply
Keivan
Posts: 127
Joined: Sat Apr 22, 2006 4:28 am

sugesstions about the tools and technologies users require.

Post by Keivan » Mon Dec 31, 2007 5:02 am

I think there is a missing topic about the ways we could improve this important and useful software.
if there is previously a topic like this please inform me.

ted
Site Admin
Posts: 5624
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: sugesstions about the tools and technologies users requi

Post by ted » Mon Dec 31, 2007 11:25 am

Keivan wrote:I think there is a missing topic about the ways we could improve this important and useful software.
if there is previously a topic like this please inform me.
NEURON-specific questions and suggestions may be, and have been, posted
in any of the relevant NEURON-specific topic areas. Questions or suggestions
that pertain to other topics in computational neuroscience may be, and have
been, posted in the
Data sharing
or
Computational neuroscience in general
areas.

Keivan
Posts: 127
Joined: Sat Apr 22, 2006 4:28 am

GPGPU

Post by Keivan » Mon Dec 31, 2007 11:43 am

GPGPU stands for General-Purpose computation on GPUs. 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.

The graphics processor (GPU) on today's commodity video cards has evolved into an extremely powerful and flexible processor. Modern graphics architectures provide tremendous memory bandwidth and computational horsepower, with fully programmable shading units that support vector operations up to full IEEE floating point precision. High level languages have emerged for graphics hardware, making this computational power accessible. Researchers have found that exploiting the GPU can accelerate some non-graphics problems by over an order of magnitude over the CPU.

For example some new Nvidia GPUs have 128 stream processor unit each one working with 1.625 GHz.
Also the new ATI's FireStream 9170 stream processor provide us 320 stream cores which drive up to 500 GFLOPS single-precision performance.
http://ati.amd.com/products/streamprocessor/specs.html

Also some researchers like John Stone, Senior Research Programmer, University of Illinois, are using GPGPU for complex molecular systems simulation.

Why we need GPGPU
1) They are exist in every computer.
2) They are cheep.
3) They are fast and grow faster than traditional CPUs because of the economic gaming comunity.
4) And the most important point is that GPUs are stream processors much like biologic neuronal processors in our brain.

http://farm3.static.flickr.com/2409/216 ... fb4f_o.gif
http://www.pcper.com/images/reviews/424/mooreslaw.jpg
Image

This is one of the best sites providing updated information about the GPGPU:
http://www.gpgpu.org/

I think this new technology would be very beneficial for the Neuron.

PS: I don't find a proper place for a topic like this.
Last edited by Keivan on Thu Jan 03, 2008 3:13 am, edited 8 times in total.

ted
Site Admin
Posts: 5624
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: GPGPU

Post by ted » Tue Jan 01, 2008 2:10 pm

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.

Keivan
Posts: 127
Joined: Sat Apr 22, 2006 4:28 am

Rapidmind

Post by Keivan » Tue Jan 01, 2008 3:34 pm

1) I congratulate all on New Year and Wish the new successful performing.

2) I agree with you in every aspect.

3) I am not a computer engineer. I want to know your opinion as a pro about the usefulness of the products like "rapidmind" for the future development of neuron

The RapidMind Multi-core Development Platform enables software organizations to deliver products faster, with less risk and lower development costs.

Create manageable, single-threaded applications that leverage the full potential of multi-core processors from AMD® and Intel®. Seamlessly take advantage of the application acceleration available from GPUs and the Cell Broadband Engine™.

http://www.rapidmind.net/product.php

Keivan
Posts: 127
Joined: Sat Apr 22, 2006 4:28 am

Philosophy of Neuron and the multithreading

Post by Keivan » Wed Jan 02, 2008 6:02 am

As every one knows The Neuron was a revolution in the simplification of the computational neuroscience. I think using a simulator like neuron we could focus on the problem instead of thinking the ways we could write our code or thinking the ways to improve our speed of computation. In this regard I think it was ideal that the Neuron could automatically generate the Multithreading part of the job. however recent versions of neuron require manual settings to activate multithreading (especially for modeling of detailed anatomically created models).

Post Reply