The users of my app have a variety of machines, so I may have to wait until GPU
programming languages settle down a bit more before launching into this space.
Most of the users, however, do have at least dual core machines.
"Yes, surfaces would be the place where this could be very helpful. One
thread could be independently building the planes of data that are processed by
the Marching Cube algorithm. I recently set Jmol up so that it creates
isosurfaces "progressively" -- that is, it only reads as much of the file at a
time to create the small slice of data necessary for the moment. This already
has markedly increased performance because one never actually holds an nX x nY
x nZ block of data in memory at any time. The Marching Cube class requests
blocks of data from the VolumeFileReader class -- sounds perfect for
multithreading. It seems to me isosurfaces would be a place where those
processors could help -- at least one more. Maybe something to look into. If
it's not difficult to set up, I'm game."
Which version of Jmol does creating isosurfaces "progressively"? I may have a
little time next week to take a look at the code.
--Chuck
----- Original Message -----
From: Robert Hanson
To: Charles Shubert ; jmol-users@lists.sourceforge.net
Sent: Wednesday, April 07, 2010 11:37 AM
Subject: Re: [Jmol-users] Jmol -- two major advances
On Wed, Apr 7, 2010 at 8:26 AM, Charles Shubert <cshub...@mit.edu> wrote:
I'm confused by the 2400% CPU usage claimed below. Does this imply that 24
cores of a multicore machine are running at 100%?
I have not been able to get Jmol to run on more than one core of my Mac 8
core machine. In looking at the source code for Jmol 11.8.not_too_long_ago
there seems to be a spot in the script interpreter to launch multiple threads
which could exploit a multicore machine, but seems to launch only one thread to
run the script itself. The code for this version's interpreter doesn't seem
thread safe at first blush, so it doesn't seem like it is possible to get more
than 100% CPU usage there.
So, my questions are:
- Does Jmol 12 exploit Java multi-threading?
no
- If so, is this multi-threading for "file loading only" or a side-effect
of something in Java or the operating system?
- Is there a way to exploit multi-threading in Jmol?
I'm sure there is. And if VMD is any example, the use of GPUs would vastly
increase performance. It would be a great project for someone to explore. Since
I know nothing about parallel processing, I'm not the one to take it on.
Mostly the "multithreading" aspects of Jmol are not that. They are
independent threads that carry out totally independent, unrelated tasks. Mostly
this is not a help in terms of performance; mostly it is a headache!
My Jmol app uses isosurface rendering for quaternary structure of proteins.
Right now, seven of the cores on my machine are idle and one is very busy. It
would be nice to be able to put the calculation of every chain's isosurface on
a thread to take advantage of whatever multicore capacity a user's machine has.
Yes, surfaces would be the place where this could be very helpful. One thread
could be independently building the planes of data that are processed by the
Marching Cube algorithm. I recently set Jmol up so that it creates isosurfaces
"progressively" -- that is, it only reads as much of the file at a time to
create the small slice of data necessary for the moment. This already has
markedly increased performance because one never actually holds an nX x nY x nZ
block of data in memory at any time. The Marching Cube class requests blocks of
data from the VolumeFileReader class -- sounds perfect for multithreading. It
seems to me isosurfaces would be a place where those processors could help --
at least one more. Maybe something to look into. If it's not difficult to set
up, I'm game.
Bob
--Chuck
--- Original Message -----
From: Robert Hanson
To: jmol-users@lists.sourceforge.net
Sent: Wednesday, April 07, 2010 8:10 AM
Subject: Re: [Jmol-users] Jmol -- two major advances
Wow, thanks, Rolf. I thought perhaps you could do that! Oh, so close!
First,
write PNG
just sends the image to your clipboard as an actual system-dependent
image since you didn't specify a file name. So it was trying to create that
when the error occurred. I'm guessing that happened not because the file was so
large but instead because the ribbon was so tiny. I'll see if I can reproduce
that.
JPG64
should not be there at all.
Bob
On Wed, Apr 7, 2010 at 4:32 AM, Rolf Huehne <rhue...@fli-leibniz.de>
wrote:
On 04/05/2010 06:50 PM, Robert Hanson wrote:
> Thanks, Peter. Yes, that's a killer. Definitely not ready to read
16,000,000
> atoms! But I have added a new option that lets you load some smaller
number
> of biomolecule transformations. Looks like we'll have to let Rolf
open that
> one for us.... ;)
>
Using Jmol 12.0.RC4_dev rev 12773 I opened the full 1m4x biological unit
file with all atoms successfully. It took about 520 minutes CPU time and
21 GB of memory. (Until the memory was filled the CPU usage raised up to
2400%, then it stayed at 100% for several hours.)
(When I tried this before the same amount of memory was used but Jmol
somehow got stuck and I never got anything rendered.)
You can't really work interactively (unless you have a CPU that is at
least 600 times faster than a 1.6 GHz Itanium processor) because it
takes about one minute for a command to work on all atoms.
But at least you can work with script commands.
When I tried to export an image with "write png" I got the following
error message:
JPG64
java.lang.ArrayIndexOutOfBoundsException: -1
at org.jmol.g3d.Hermite3D.renderHermiteRibbon(Unknown Source)
at org.jmol.g3d.Graphics3D.drawHermite(Unknown Source)
at
org.jmol.shapebio.BioShapeRenderer.renderHermiteRibbon(Unknown Source)
at org.jmol.shapebio.CartoonRenderer.render1(Unknown Source)
at org.jmol.shapebio.CartoonRenderer.renderBioShape(Unknown
Source)
at org.jmol.shapebio.BioShapeRenderer.render(Unknown Source)
at org.jmol.shape.ShapeRenderer.render(Unknown Source)
at org.jmol.viewer.RepaintManager.render1(Unknown Source)
at org.jmol.viewer.RepaintManager.render(Unknown Source)
at org.jmol.viewer.Viewer.render(Unknown Source)
at org.jmol.viewer.Viewer.getImage(Unknown Source)
at org.jmol.viewer.Viewer.getScreenImage(Unknown Source)
at org.jmol.viewer.Viewer.renderScreenImage(Unknown Source)
at org.jmol.viewer.Viewer.renderScreenImage(Unknown Source)
at org.openscience.jmol.app.jmolpanel.DisplayPanel.paint(Unknown
Source)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5124)
at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
at javax.swing.JComponent._paintImmediately(JComponent.java:5072)
at javax.swing.JComponent.paintImmediately(JComponent.java:4882)
at
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:785)
at
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
at
javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
rendering error?
Regards,
Rolf
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users
--
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
http://www.stolaf.edu/people/hansonr
phone: 507-786-3107
If nature does not answer first what we want,
it is better to take what answer we get.
-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
--------------------------------------------------------------------------
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
--------------------------------------------------------------------------
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users
--
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
http://www.stolaf.edu/people/hansonr
phone: 507-786-3107
If nature does not answer first what we want,
it is better to take what answer we get.
-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users