ideal processor/motherboard characteristics for ptb?

hi mario-
we are expanding our live-in rodent training rig from 12 boxes to 36.
so it's another opportunity to choose machine architecture. our
first 12 boxes run pentium D dual cores on asus mobo's (P5L-MX -
http://usa.asus.com/products.aspx?l1=3&l2=11&l3=194&l4=0&model=1320&modelmenu=1)

we liked the dual core because matlab looks like it is going in the
multicore direction and the additional processor can handle things
that would otherwise risk dropped frames (network/usb/pci traffic, OS
interruptions, drivers that demand attention, etc). this was despite
the fact that you have recommended single core in the past for best
operation of ptb. is ptb's direction going to follow matlab towards
preferring multiprocessor? what are the factors to consider? what
are the top 3 tests you would run to see if multicore is currently a
problem?

we liked that mobo cuz it was cheap, has gigabit ethernet and
parallel/serial ports that we use for our behavioral
responses/rewards, and has onboard gfx (GMA950), which you then
chastised us for. :) we subsequently got evga geforce 7600GS/512's
to put in the pci-express slot. this setup seems to work fine, but we
haven't pushed it super hard.

these live-in training boxes are going to be the basis of our lab's
data collection for the next several years, and i can't predict all
the kinds of experiments we'll want to do. right now they range from
2AFC of static stimuli to real-time generation of noise, ideally with
imposed spatiotemporal correlations. we use auditory cues to help
indicate task state to the subjects.

we run win xp pro sp2 and keep up to date versions of matlab/ptb. we
have to use the university's matlab license server over the network.

we'd like to move to a rackmount machine for the next 24 units. there
aren't many to choose from that have pci-express x16 for nice gfx
cards. can you recommend any, or let us know what characteristics we
should be most concerned about? bus speed? CPU cache? if you had to
assemble an ideal ptb machine with low perishability, while remaining
economical, what would you get?

also, i'm interested to gauge what kind of interest people have in our
high-throughput, automated, live-in training system for rodents on
audiovisual tasks. the subjects use a beambreak lickometer with 3
independently rewardable ports for their behavioral responses, from
within a body tube in order to facilitate headfixed behavior for
physiology/eyetracking. rats reliably take 10-30 days to learn a
simple 2AFC from naive. the code is all matlab and completely open,
so any experiment design is possible. to get a flavor, see:
http://www-biology.ucsd.edu/labs/reinagel/images/16-up.jpg
http://www-biology.ucsd.edu/labs/reinagel/Ratrix.html
http://www.biology.ucsd.edu/labs/reinagel/RodentBehavior.html

we think our closest competitor is intellicage
(http://www.newbehavior.com/products/ic), which is a cool product, but
completely closed in design, has only LED's for visual stimuli, and
costs 10x our solution.

i'm curious how many ptb users out there would want to build or buy
the system we've designed. would you prefer a methods paper with
instructions of how to build from off-the-shelf parts, or a commercial
product? would the software be a useful add-on to ptb, or would that
be too "frameworky"?

thanks!
-erik
hey mario-
i have to make this purchasing decision really soon. i know you're
out of town, but if you can steer me in roughly the right direction
i'd really appreciate it! i normally wouldn't hound you like this but
we're going to be stuck with these 25 machines for years... big
questions (specifically relating to psychtoolbox):
1) any reason to prefer intel vs. amd?
2) any reason to avoid multicore processors?
3) how important are cache architecture/FSB speed?
4) 7600GS/512's are about the same price as 8500GT/512's. this page:
http://www.tomshardware.com/2007/08/06/the_best_gaming_video_cards_for_the_money/page7.html
indicates to slightly prefer the 7600GS. but do you have (perhaps
directX 10 or GLSL) reasons to prefer the 8500GT? or do you want to
argue that we should invest more than $100 per card?

thanks! hope you're enjoying italy...
-erik

--- In psychtoolbox@yahoogroups.com, "e_flister" <e_flister@...> wrote:
>
> a related question is if anyone knows of a reason to prefer intel vs.
> amd processors for psychtoolbox?
>
> -erik
>
> --- In psychtoolbox@yahoogroups.com, "e_flister" <e_flister@> wrote:
> >
> > hi mario-
> > we are expanding our live-in rodent training rig from 12 boxes to 36.
> > so it's another opportunity to choose machine architecture. our
> > first 12 boxes run pentium D dual cores on asus mobo's (P5L-MX -
> >
>
http://usa.asus.com/products.aspx?l1=3&l2=11&l3=194&l4=0&model=1320&modelmenu=1)
> >
> > we liked the dual core because matlab looks like it is going in the
> > multicore direction and the additional processor can handle things
> > that would otherwise risk dropped frames (network/usb/pci traffic, OS
> > interruptions, drivers that demand attention, etc). this was despite
> > the fact that you have recommended single core in the past for best
> > operation of ptb. is ptb's direction going to follow matlab towards
> > preferring multiprocessor? what are the factors to consider? what
> > are the top 3 tests you would run to see if multicore is currently a
> > problem?
> >
> > we liked that mobo cuz it was cheap, has gigabit ethernet and
> > parallel/serial ports that we use for our behavioral
> > responses/rewards, and has onboard gfx (GMA950), which you then
> > chastised us for. :) we subsequently got evga geforce 7600GS/512's
> > to put in the pci-express slot. this setup seems to work fine, but we
> > haven't pushed it super hard.
> >
> > these live-in training boxes are going to be the basis of our lab's
> > data collection for the next several years, and i can't predict all
> > the kinds of experiments we'll want to do. right now they range from
> > 2AFC of static stimuli to real-time generation of noise, ideally with
> > imposed spatiotemporal correlations. we use auditory cues to help
> > indicate task state to the subjects.
> >
> > we run win xp pro sp2 and keep up to date versions of matlab/ptb. we
> > have to use the university's matlab license server over the network.
> >
> > we'd like to move to a rackmount machine for the next 24 units. there
> > aren't many to choose from that have pci-express x16 for nice gfx
> > cards. can you recommend any, or let us know what characteristics we
> > should be most concerned about? bus speed? CPU cache? if you had to
> > assemble an ideal ptb machine with low perishability, while remaining
> > economical, what would you get?
> >
> > also, i'm interested to gauge what kind of interest people have in our
> > high-throughput, automated, live-in training system for rodents on
> > audiovisual tasks. the subjects use a beambreak lickometer with 3
> > independently rewardable ports for their behavioral responses, from
> > within a body tube in order to facilitate headfixed behavior for
> > physiology/eyetracking. rats reliably take 10-30 days to learn a
> > simple 2AFC from naive. the code is all matlab and completely open,
> > so any experiment design is possible. to get a flavor, see:
> > http://www-biology.ucsd.edu/labs/reinagel/images/16-up.jpg
> > http://www-biology.ucsd.edu/labs/reinagel/Ratrix.html
> > http://www.biology.ucsd.edu/labs/reinagel/RodentBehavior.html
> >
> > we think our closest competitor is intellicage
> > (http://www.newbehavior.com/products/ic), which is a cool product, but
> > completely closed in design, has only LED's for visual stimuli, and
> > costs 10x our solution.
> >
> > i'm curious how many ptb users out there would want to build or buy
> > the system we've designed. would you prefer a methods paper with
> > instructions of how to build from off-the-shelf parts, or a commercial
> > product? would the software be a useful add-on to ptb, or would that
> > be too "frameworky"?
> >
> > thanks!
> > -erik
> >
>
Hi Erik,

I've had good experience with dual core PTB on WinXP. Specifically,
this lets you designate Matlab to realtime priority without blocking
the system or having the system demote matlab to normal priority after
a period of time. It does not, however, speed up processing
significantly as the new multiprocessor optimizations for matlab are
only related to linear algebra subroutines; only code with serious
matrix mathematics will be enhanced, and PTB-related code probably
does not fit this description. Matlab itself remains single-threaded
and as such I have found no significant difference in my PTB code
while changing the number of threads in Matlab 7.4 (or prior versions,
as you can actually download the BLAS subroutines for any matlab post
6.5, I believe). To get true multicore enhancement you would need
true multi-threaded applications, either by writing subroutines in
Java/C or even by running two simultaneous Matlab sessions and
communicating between them via the built-in COM protocol or RMI
between the JVM's (which sounds crazy, but I've actually had great
success with this in specific applications). However, you will
undoubtedly get better performance on a dual-core system while
multitasking, though this should be avoided at all costs.

The Core2Duo's are vastly superior to the D-series but I have no
direct experience with the AMD's. The reviews I've read, however,
tend to suggest the Core2's edge out over AMD in both processing and
energy efficiency, even before the Santa Rosa upgrade. I've had great
success with every Core2Duo and I can't recommend them more highly.
1) I don't know. But i think currently Intel has a lead in performance,
power-consumption and heat production. But no PTB related reason
to prefer one over the other.

2) No. As i said before its highly task dependent if multi-core helps
or hurts. But for most tasks in a otherwise well-configured system
it should be ok, and one can usually switch off the 2nd core in the
OS settings or BIOS. If you do something that is multi-threaded in
PTB/Matlab, then the 2nd core may help (sound output, movie playback
are both multi-threaded in PTB, some Matlab functions for linear
algebra etc. are multi-threaded).

3) For general compute performance, especially multi-core, it can
be very important to have a big cache (again, depends on application).
PTB's performance is mostly tied to the graphics card, not the cpu.
The only function i could think of is Screen('MakeTexture'), maybe
Screen('GetImage'), maybe Quicktime - these could benefit from
a big cache.

4) The 8000's are the future if you intend to use image processing etc.
Performance measures are nearly always task dependent, but in terms
of functionality, the 8000's have a couple of interesting new features
to offer. So given that you'll be stuck with your machines for many
years, i'd rather spent 100$ more for a 8600 or so.

greetings from lovely Arezzo,
-mario

--- In psychtoolbox@yahoogroups.com, "e_flister" <e_flister@...> wrote:
>
> hey mario-
> i have to make this purchasing decision really soon. i know you're
> out of town, but if you can steer me in roughly the right direction
> i'd really appreciate it! i normally wouldn't hound you like this but
> we're going to be stuck with these 25 machines for years... big
> questions (specifically relating to psychtoolbox):
> 1) any reason to prefer intel vs. amd?
> 2) any reason to avoid multicore processors?
> 3) how important are cache architecture/FSB speed?
> 4) 7600GS/512's are about the same price as 8500GT/512's. this page:
> http://www.tomshardware.com/2007/08/06/
the_best_gaming_video_cards_for_the_money/page7.html
> indicates to slightly prefer the 7600GS. but do you have (perhaps
> directX 10 or GLSL) reasons to prefer the 8500GT? or do you want to
> argue that we should invest more than $100 per card?
>
> thanks! hope you're enjoying italy...
> -erik
>
> --- In psychtoolbox@yahoogroups.com, "e_flister" <e_flister@> wrote:
> >
> > a related question is if anyone knows of a reason to prefer intel vs.
> > amd processors for psychtoolbox?
> >
> > -erik
> >
> > --- In psychtoolbox@yahoogroups.com, "e_flister" <e_flister@> wrote:
> > >
> > > hi mario-
> > > we are expanding our live-in rodent training rig from 12 boxes to 36.
> > > so it's another opportunity to choose machine architecture. our
> > > first 12 boxes run pentium D dual cores on asus mobo's (P5L-MX -
> > >
> >
> http://usa.asus.com/products.aspx?
l1=3&l2=11&l3=194&l4=0&model=1320&modelmenu=1)
> > >
> > > we liked the dual core because matlab looks like it is going in the
> > > multicore direction and the additional processor can handle things
> > > that would otherwise risk dropped frames (network/usb/pci traffic, OS
> > > interruptions, drivers that demand attention, etc). this was despite
> > > the fact that you have recommended single core in the past for best
> > > operation of ptb. is ptb's direction going to follow matlab towards
> > > preferring multiprocessor? what are the factors to consider? what
> > > are the top 3 tests you would run to see if multicore is currently a
> > > problem?
> > >
> > > we liked that mobo cuz it was cheap, has gigabit ethernet and
> > > parallel/serial ports that we use for our behavioral
> > > responses/rewards, and has onboard gfx (GMA950), which you then
> > > chastised us for. :) we subsequently got evga geforce 7600GS/512's
> > > to put in the pci-express slot. this setup seems to work fine, but we
> > > haven't pushed it super hard.
> > >
> > > these live-in training boxes are going to be the basis of our lab's
> > > data collection for the next several years, and i can't predict all
> > > the kinds of experiments we'll want to do. right now they range from
> > > 2AFC of static stimuli to real-time generation of noise, ideally with
> > > imposed spatiotemporal correlations. we use auditory cues to help
> > > indicate task state to the subjects.
> > >
> > > we run win xp pro sp2 and keep up to date versions of matlab/ptb. we
> > > have to use the university's matlab license server over the network.
> > >
> > > we'd like to move to a rackmount machine for the next 24 units. there
> > > aren't many to choose from that have pci-express x16 for nice gfx
> > > cards. can you recommend any, or let us know what characteristics we
> > > should be most concerned about? bus speed? CPU cache? if you had to
> > > assemble an ideal ptb machine with low perishability, while remaining
> > > economical, what would you get?
> > >
> > > also, i'm interested to gauge what kind of interest people have in our
> > > high-throughput, automated, live-in training system for rodents on
> > > audiovisual tasks. the subjects use a beambreak lickometer with 3
> > > independently rewardable ports for their behavioral responses, from
> > > within a body tube in order to facilitate headfixed behavior for
> > > physiology/eyetracking. rats reliably take 10-30 days to learn a
> > > simple 2AFC from naive. the code is all matlab and completely open,
> > > so any experiment design is possible. to get a flavor, see:
> > > http://www-biology.ucsd.edu/labs/reinagel/images/16-up.jpg
> > > http://www-biology.ucsd.edu/labs/reinagel/Ratrix.html
> > > http://www.biology.ucsd.edu/labs/reinagel/RodentBehavior.html
> > >
> > > we think our closest competitor is intellicage
> > > (http://www.newbehavior.com/products/ic), which is a cool product, but
> > > completely closed in design, has only LED's for visual stimuli, and
> > > costs 10x our solution.
> > >
> > > i'm curious how many ptb users out there would want to build or buy
> > > the system we've designed. would you prefer a methods paper with
> > > instructions of how to build from off-the-shelf parts, or a commercial
> > > product? would the software be a useful add-on to ptb, or would that
> > > be too "frameworky"?
> > >
> > > thanks!
> > > -erik
> > >
> >
>