hi Emily,
I was about to announce it in the mailing list regarding this update - glad that you have tried.
for those of you who want to read about this, please check out my
recent tweet thread at
https://twitter.com/FangQ/status/1799902310904275308
basically, a boundary-condition related bug was fixed and now
mcxcl passes all built in tests on Apple arm64 processors
(M1/M2/M3...).
Also, I noticed that launching only few thousands of threads, as how mcxcl previously decided on Apple processors in autopilot mode (-A 0), is too few and very much under utilizing the apple GPU hardware. by increasing the thread counts to tens of thousands, the mcxcl (as well as mmc) simulation speed went up by 7x on my M2 Pro processor (may be less if you have a lower model).
CCing mmc-users mailing list so that mmc users are also aware of
this update.
regarding your question, when yous aid "still having trouble", what exactly did you mean? - what trouble do you have? what Apple processor, OS version, matlab version, and what specific package you have downloaded?
I just tried it on my new Mac-mini (M2 pro), it seems to run without any problem. The screenshot showing matlab/octave sessions from downloaded nightly-package is attached.
Qianqian
--
You received this message because you are subscribed to the Google Groups "mcx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mcx-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mcx-users/0209f313-8baf-42d8-83d7-090f51deb6f2n%40googlegroups.com.
hi Emily,
hope you don't mind me adding back the CC to the mailing list so
we can document these Q&As in our google group website.
yes, the error message is very helpful.
as far as I understood, both Intel version of MATLAB and native Apple silicon version of MATLAB can run on M1/M2. The Intel version requires Rosetta 2, and can be any past version; native Apple silicon version is only supported since R2023b
https://www.mathworks.com/support/requirements/apple-silicon.html
to find out what version of matlab you have, you should type
command "mexext" in the command window, if it returns mexmaci64,
you are running an Intel based MATLAB via Rosetta 2; if you see mexmaca64,
that means you are running native apple silicon matlab.
in either of the case, when you type mcxlab, it looks for the mex file named mcxcl.mexmac{i,a}64 depending on your mexext output.
from your error message, if you are certain that the path to the
arm64 mcxlabcl package have been added, then, my guess is that you
are running an Intel based MATLAB, if so, you should download the
x86_64 (for Intel) package instead
https://mcx.space/nightly/macos64/mcxlabcl-macos-x86_64-nightlybuild.zip
please let me know if this is the case
Qianqian
Hi,
I am an undergrad using MCXCL for the first time, so I apologize if I am asking simple or straightforward questions. I downloaded the nightly build "mcxlabcl-macos-arm64-nightlybuild.zip". I added this folder to my path, but if I run the same file as the one shown in your screenshot, I get the following in my command window:>> demo_mcxlab_basic
Unrecognized function or variable 'mcxcl'.
Error in mcxlabcl (line 429)
[varargout{1:max(1, nargout)}] = mcxcl(varargin{1});
Error in demo_mcxlab_basic (line 24)
flux = mcxlabcl(cfg);
I have also tried looking at the files and online documentation for the installation and readme, and I think my issue might have to do with the OpenCL aspect, but I'm not entirely sure. If there's anything else that I can provide that would help or that would make things clearer please let me know!
Thanks,
Emily Wang
--
Emily Wang (she/her)
B.S.E. Chemical and Biological Engineering
Princeton University Class of 2025
hi Emily,
you need also to download and unzip the mcx package and add path to mcx/utils folder, most mcx data analysis matlab functions can be found under that folder.
https://github.com/fangq/mcx/tree/master/utils
to use mcxpreview, you need to also install the iso2mesh toolbox
for 3D rendering
https://github.com/fangq/iso2mesh
Qianqian
hi Emily,
if you download older iso2mesh releases (1.9.6 or older), I believe the mcxpreview function does not require these binaries.
however, to use the github version, you will need native meshing utilities in iso2mesh, which we did not have previously.
I have just added these missing binaries in the commit I pushed a
few seconds ago
https://github.com/fangq/iso2mesh/commit/aa78f3a1c9ffdc9dfd41b1ae290161d3233110a5
please download it again and see if it works for you.
Qianqian