Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Rolf Huehne
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#174; 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


Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Robert Hanson
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#174; 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
--

Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Rolf Huehne
On 04/07/2010 02:10 PM, Robert Hanson wrote:
 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.
 
I repeated it with a filename (I thought without one the application
would ask for one in a file select box, but I remember now that a
question mark is needed for that) and now only got the following error
message:

  java.lang.ArrayIndexOutOfBoundsException
  rendering error?

The image was written but it looks distorted:
http://www.fli-leibniz.de/ImgLibPDB/tmp/1m4x-biol_unit-full-distorted.png

It should look like this one (generated with C-alpha only):
http://www.fli-leibniz.de/ImgLibPDB/thumbnail/manual/1m4x.pdb1_small.gif

Regards,
Rolf

--
Download Intel#174; 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


Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Robert Hanson
Rolf,

I think what's happening is that the image is too complex. There is a
2-second timeout on the refreshing request, and that is done right before
the image is created. So in general, displays take less than 2 seconds, and
we have no problem. But if a display takes more than 2 seconds, Jmol ignores
the hold and continues -- this was important because in certain situations
Jmol would make a request to the operating system for a repaint, and it
would not be returned for some reason. I'm not saying I really understand
it. But that timeout on the rendering wait fixes that.

I believe it would work if you did this as a command line job with the -ion
flags set (silent, no console, no display).
With no display there won't be any rendering request.  Please do try that.

Bob



On Wed, Apr 7, 2010 at 7:59 AM, Rolf Huehne rhue...@fli-leibniz.de wrote:

 On 04/07/2010 02:10 PM, Robert Hanson wrote:
  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.
 
 I repeated it with a filename (I thought without one the application
 would ask for one in a file select box, but I remember now that a
 question mark is needed for that) and now only got the following error
 message:

  java.lang.ArrayIndexOutOfBoundsException
  rendering error?

 The image was written but it looks distorted:
 http://www.fli-leibniz.de/ImgLibPDB/tmp/1m4x-biol_unit-full-distorted.png

 It should look like this one (generated with C-alpha only):
 http://www.fli-leibniz.de/ImgLibPDB/thumbnail/manual/1m4x.pdb1_small.gif

 Regards,
 Rolf


 --
 Download Intel#174; 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#174; 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


Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Charles Shubert
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?
- 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?

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.

--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 

Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Rolf Huehne
On 04/07/2010 03:26 PM, Charles Shubert 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%?
 
Actually there are 36 cores running at pulsating rates with a total
average of 2400%. Unfortunately only until all the required memory is
acquired (presumably until actual file loading is finished).

Regards,
Rolf

--
Download Intel#174; 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


Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Robert Hanson
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 hans...@stolaf.edu
 *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.dewrote:

 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)
   

Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Charles Shubert
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 

Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Rolf Huehne
On 04/07/2010 05:37 PM, Robert Hanson wrote:
 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
 
So how do you explain the obvious multi-threading during file loading?

While loading 1m4x the multi-threading pulses are rather short at the
beginning (1-2 sec) and then 10 sec or more single-threading, but
increasing up to about 30 sec later.

Regards,
Rolf

--
Download Intel#174; 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


Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Charles Shubert
I'm not surprised about this.  The multi-threading in loading the file 
probably is in either Java's file handling or the operating system's file 
system.  Most non-gaming higher level software with a modern user interface 
really doesn't do enough intensive computation to justify making the 
software thread safe. Times seem to be changing, however.

--Chuck

- Original Message - 
From: Rolf Huehne rhue...@fli-leibniz.de
To: jmol-users@lists.sourceforge.net
Sent: Wednesday, April 07, 2010 12:13 PM
Subject: Re: [Jmol-users] Jmol -- two major advances


 On 04/07/2010 05:37 PM, Robert Hanson wrote:
 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

 So how do you explain the obvious multi-threading during file loading?

 While loading 1m4x the multi-threading pulses are rather short at the
 beginning (1-2 sec) and then 10 sec or more single-threading, but
 increasing up to about 30 sec later.

 Regards,
 Rolf

 --
 Download Intel#174; 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#174; 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


Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Robert Hanson
Which version of Jmol does creating isosurfaces progressively?  I may
have a little time next week to take a look at the code.

Jmol 11.9 -- aka 12.0.RCx

We have a couple of interfaces, and I could give you a quick rundown, but
not on the users list, probably. I'll send you a note off-list

Bob
-- 
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#174; 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


Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Egon Willighagen
Bob,

On Wed, Apr 7, 2010 at 5:37 PM, Robert Hanson hans...@stolaf.edu wrote:
 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.

How is a Jmol view (Image) currently calculated? Wasn't this done
pixel by pixel (that's what I remember, but I might be mixing up
things)? Would it then not be possible to divide the Image into 2
parts and calculate each in 2 threads (etc)?

Egon

-- 
Post-doc @ Uppsala University
Proteochemometrics / Bioclipse Group of Prof. Jarl Wikberg
Homepage: http://egonw.github.com/
Blog: http://chem-bla-ics.blogspot.com/
PubList: http://www.citeulike.org/user/egonw/tag/papers

--
Download Intel#174; 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


Re: [Jmol-users] Jmol -- two major advances

2010-04-07 Thread Robert Hanson
On Wed, Apr 7, 2010 at 12:43 PM, Egon Willighagen 
egon.willigha...@gmail.com wrote:

 Bob,

 On Wed, Apr 7, 2010 at 5:37 PM, Robert Hanson hans...@stolaf.edu wrote:
  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.

 How is a Jmol view (Image) currently calculated? Wasn't this done
 pixel by pixel (that's what I remember, but I might be mixing up
 things)? Would it then not be possible to divide the Image into 2
 parts and calculate each in 2 threads (etc)?



OK, so that's another possibility. You have to go through all the shapes, of
course, with both processors, and I'm not clear how you would exactly do
that, but I suppose you could somehow cut it apart some way like that.

More probably what you would do is, say, have all the cartoons rendered by
one and all the spacefill by another, etc. Then merge the components. I'd
have to think about how that would work in terms of translucency. For
example, we don't sort the translucent objects to make an approximate order
that I think is necessary for OpenGL (trading pixel-by-pixel accuracy for
object-by-object accuracty). It's been a while since I thought about that.
Instead we use a base plane buffer and a translucent buffer and then do the
pixel ordering pixel by pixel. Either way there are trade-offs. This was
easier on memory and faster. Still, I suppose this might work with multiple
threads. yes, that could work

Bob


 Egon

 --
 Post-doc @ Uppsala University
 Proteochemometrics / Bioclipse Group of Prof. Jarl Wikberg
 Homepage: http://egonw.github.com/
 Blog: http://chem-bla-ics.blogspot.com/
 PubList: http://www.citeulike.org/user/egonw/tag/papers


 --
 Download Intel#174; 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#174; 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


[Jmol-users] Live 3D Jmol in PDF files

2010-04-07 Thread Robert Hanson
At various times there has been lively discussion on this list about the
prospects of having live 3D Jmol in PDF files.
No, it's still not possible. But I thought I would put together a little PDF
that shows that you don't need to have that capability to do effectively the
same thing (at least on websites).

http://chemapps.stolaf.edu/jmol/docs/examples-11/data/live3DJmol.pdf

Obvious limitations:

-- not transportable.
-- still requires a number of files.

Bob

-- 
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#174; 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


Re: [Jmol-users] Live 3D Jmol in PDF files

2010-04-07 Thread Jan Halborg Jensen
Bob,

Very interesting.  I quite agree that pdf files with U3D become very big
very fast.

It seems to me this would also work for a downloaded pdf file if you
included the full path in the link?  I.e. if I open the downloaded pdf in a
browser, shouldn't clicking on the picture take me to your website?

One thought, wouldn't the .epub files be a more natural environment for
Jmol?  It's partly xhtml based, but can be made to look much like a pdf
file (though I am not sure how).

Jan 

Robert Hanson hans...@stolaf.edu skrev:
 At various times there has been lively discussion on this list about the
 prospects of having live 3D Jmol in PDF files.
 No, it's still not possible. But I thought I would put together a little
PDF
 that shows that you don't need to have that capability to do effectively
the
 same thing (at least on websites).
 
 http://chemapps.stolaf.edu/jmol/docs/examples-11/data/live3DJmol.pdf
 
 Obvious limitations:
 
 -- not transportable.
 -- still requires a number of files.
 
 Bob
 
 -- 
 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#174; 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