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.
sugesstions about the tools and technologies users require.
-
- Site Admin
- Posts: 6305
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: sugesstions about the tools and technologies users requi
NEURON-specific questions and suggestions may be, and have been, postedKeivan 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.
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.
GPGPU
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
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.
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
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.
-
- Site Admin
- Posts: 6305
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: GPGPU
An interesting suggestion. GPUs are very much a "moving target" in termsKeivan 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.
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.
It probably belongs inPS: I don't find a proper place for a topic like this.
Computational neuroscience in general /
General questions and discussions about computational neuroscience
but for the time being I'll leave it here.
Rapidmind
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
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
Philosophy of Neuron and the multithreading
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).