From: John Stone (johns_at_ks.uiuc.edu)
Date: Mon Oct 27 2014 - 23:19:43 CDT

Hi,
  In the short term, there's no alternative but to use the non-CUDA version
of VMD on versions of MacOS that require the latest CUDA versions.
When Apple force developers to change from Carbon to Cocoa for 64-bit
apps, this created problems for apps like VMD that depend on cross-platform
GUI toolkits such as FLTK and Tk, since they had to be completely rewritten
for Cocoa. Apple used to be directly involved in maintaining the MacOS X
ports of Tk, but that ended when their corporate policy went against
cross-platform GUI toolkits in favor of 100% native apps. When VMD 1.9.1
was released, I put a lot of effort into testing various bleeding edge
versions of FLTK and Tk to see if we could make a 64-bit VMD build that
was stable, but those tests showed that there were a number of problems
with the Cocoa versions of these tookits, and as a result we stuck with
the 32-bit VMD builds for production releases. I haven't tested the
latest FLTK/Tk toolkit versions to determine if the previous problems
with Cocoa GUI toolkits have been resolved or not, but I will be doing
so before VMD 1.9.2 is finalized. If the GUI toolkits have become
stable on 64-bit MacOS, then we will be able to compile VMD 1.9.2
with the latest revs of CUDA required for Yosemite and later MacOS versions.

I'll have more to say on this in a few more weeks, but for the time being
the best short-term plan is to use the non-CUDA binaries until I have
a better option.

Cheers,
  John Stone
  vmd_at_ks.uiuc.edu

On Mon, Oct 27, 2014 at 06:14:25PM -0400, McNutt, Nick wrote:
> Dear VMD users,
>
> I have recently upgraded my operating system, GPU drivers, and CUDA
> version.A When loading VMD 1.9.2, I get the following:
>
> ------------------------------------------------------------------------------------------------
> Warning) Detected a mismatch between CUDA runtime and GPU driver
> Warning) Check to make sure that GPU drivers are up to date.
> Info) No CUDA accelerator devices available.
> Info) OpenGL renderer: NVIDIA GeForce GT 650M OpenGL Engine
> Info) A Features: STENCIL MDE CVA MTX NPOT PP PS GLSL(OVF)
> Info) A Full GLSL rendering mode is available.
> Info) A Textures: 2-D (16384x16384), 3-D (2048x2048x2048), Multitexture
> (8)
> Info) Dynamically loaded 2 plugins in directory:
> Info) /Applications/VMD 1.9.2.app/Contents/vmd/plugins/MACOSXX86/molfile
> vmd >
> ------------------------------------------------------------------------------------------------
>
> It appears as though the default libraries provided with VMD
> (libcuda.dylib, libcudart.dylib, libtlshook.dylib) are compiled with
> 32-bit CUDA for a lower GPU driver version.A Using "lipo -info
> vmd_MACOSXX86" shows that VMD is compiled with an i386 architecture.
>
> So I thought I'd try replacing the local libraries with my system ones:
>
> ------------------------------------------------------------------------------------------------
> ln -s /usr/local/cuda/lib/libtlshook.dylib
> ln -s /usr/local/cuda/lib/libcudart.dylib
> ln -s /usr/local/cuda/lib/libcuda.dylib
> ------------------------------------------------------------------------------------------------
>
> However, loading VMD gives this error message:
>
> ------------------------------------------------------------------------------------------------
> Nick ~ $ /Applications/VMD\ 1.9.2.app/Contents/MacOS/startup.command ;
> exit;
> dyld: Library not loaded: @executable_path/libcudart.dylib
> A Referenced from: /Applications/VMD
> 1.9.2.app/Contents/MacOS/../Resources/VMD.app/Contents/MacOS/VMD
> A Reason: no suitable image found.A Did find:
> /Developer/NVIDIA/CUDA-6.5/lib/libcudart.dylib: mach-o, but wrong
> architecture
> /Applications/VMD 1.9.2.app/Contents/vmd/libcudart.dylib: mach-o, but
> wrong architecture
> /usr/local/lib/libcudart.dylib: mach-o, but wrong architecture
> /Applications/VMD 1.9.2.app/Contents/MacOS/startup.command: line 7: A 5588
> Trace/BPT trap: 5 A A A "$p/../Resources/VMD.app/Contents/MacOS/VMD" $*
> logout
> ------------------------------------------------------------------------------------------------
>
> "lipo -info libcudart.dylib" reveals only x86_64 versions of the CUDA
> drivers are provided, and nVidia's website
> ([1]http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#unsupported-features),
> provides the following statement:
>
> "(Mac OS X) Support for 32-bit CUDA and OpenCL Applications on Mac OS X -
> Developing and running 32-bit CUDA and OpenCL applications on Mac OS X
> platforms is no longer supported in the CUDA Toolkit and in the CUDA
> Driver. Legacy 32-bit CUDA and OpenCL applications will not run on this
> version of the CUDA Driver on Mac OS X platforms."
> So... it appears to me that my options at this point are to either try
> compiling 64-bit VMD myself for Mac OS (I couldn't find an already
> compiled version on the VMD downloads page), or to downgrade my GPU
> driver, which isn't really an option.
> Is there anything else I can do other than go without CUDA support?
> Thanks,
> Nick
>
> References
>
> Visible links
> 1. http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#unsupported-features

-- 
NIH Center for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
http://www.ks.uiuc.edu/~johns/           Phone: 217-244-3349
http://www.ks.uiuc.edu/Research/vmd/