#299 Package MCXLAB - a fast 3D Monte Carlo photon transport simulator
Closed: Fixed 5 years ago by fangq. Opened 5 years ago by fangq.

Motne Carlo eXtreme (MCX, http://mcx.space) is an NIH funded project to develop open-source light transport simulator widely used by the biophotonics community. A particularly important segment of the users are researchers doing functional near-infrared spectroscopy (fNIRS) - an emerging optical-based neuroimaging technique.

The MCX simulation platform contains 4 major tools
mcx - a CUDA based light simulator using voxelated domains (executable based)
mcxcl - an OpenCL based light simulator using voxelated domains (executable based)
mmc - mesh-based Monte Carlo simulator using tetrahedral meshes (executable based)
mmcl - OpenCL based mmc using tetrahedral meshes (executable based)

for each binary simulators above, we have the MATLAB/Octave mex versions for matlab integration, they are mcxlab, mcxlabcl, mmclab and mmclabcl.

It appears that CUDA is not currently supported by Fedora, I will start packaging the OpenCL simulators (mcxcl, mmcl, mcxlab and mcxlabcl).

An independent GUI tool, MCXStudio (http://mcx.space/wiki/index.cgi?Doc/MCXStudio) will also be packaged as a separate package for ease of use.

For this tracker, I will focus on making the first package octave-mcxlab which package the OpenCL version of mcx as a mex file (i.e. mcxlabcl).


I won't comment yet on the issues with CUDA, I will just say that I saw better CUDA support listed as supposedly a focus of fc31.

I am using the copr for intel-opencl from jdanecki:
https://copr.fedorainfracloud.org/coprs/jdanecki/intel-opencl/

I have used these with other OpenCL projects and I am hoping they are eventually included with Fedora.

Metadata Update from @ankursinha:
- Issue untagged with: S: Needs review
- Issue tagged with: S: In testing, S: Needs documentation, T: Documentation

5 years ago

We can't do much about CUDA. It will remain proprietary software, and irrespective of what people's stance on Free software in Fedora remains, its license makes it extremely unlikely that it'll be included in Fedora. The best we can do is get it into RPMFusion if not already included there, and document how one can install it.

@mhough, thanks for the comment. The mcxlab I am packaging here is the OpenCL version (i.e. mcxcl, mcxlabcl), not the cuda version. The package was approved earlier today and I built and pushed it to fc29-rawhide already.

it actually compiles/runs fine on the open source mesa opencl, but I haven't carefully tested performance yet. I am sure intel-opencl driver will get the best out of intel cpu/gpu.

Do you suggest me to add intel-opencl as Requires? is there any penalty doing that (such as limit the platforms supported?)

for mcx-cuda, I will wait until policy clears. glad that I have an opencl version that can be easily disseminated (will package mmclab-cl next as it is also opencl based, see https://github.com/fangq/fedorapkg/tree/mmclab).

I am closing this ticket as it has been approved. but let's continue the discussion here regarding mcxlab.

Metadata Update from @fangq:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

5 years ago

Metadata Update from @ankursinha:
- Issue status updated to: Open (was: Closed)

5 years ago

I've re-opened it. Generally, we keep them open until the package hits stable (and so has reached users), and we've updated the documentation. The different status flags reflect these stages.

Metadata Update from @fangq:
- Issue untagged with: S: In testing

5 years ago

@ankursinha , let me know if you want me to close this ticket, most of the packages I created recently had hit stable. thanks

Has this been added to the documentation? If so, please close the ticket.

I don't think so, can you remind me how do add to documentation? sorry, saw it before but forgot where to find.

You can find what page the package fits best in the docs here: https://docs.fedoraproject.org/en-US/neurofedora/overview/

Each page has an "edit this page" link in the top right hand corner that will take you to its source:
For example, the above linked page is generated from this: https://pagure.io/neuro-sig/documentation/blob/master/f/modules/ROOT/pages/overview.adoc

Once you've decided on the page, you add the tool there (copy paste and edit--that's easiest). Commit, push, done :)

If you're unsure, you can fork the docs repo and open pull requests first, but it's fine to push directly to the repo too. The Readme of the repo has instruction on how to test your changes etc: https://pagure.io/neuro-sig/documentation

Metadata Update from @fangq:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

5 years ago

Log in to comment on this ticket.