From Matlab
Notes
  • BRAHMS does not need Matlab to run, but most people will be designing systems in Matlab for now. If you do not intend to do so, you can skip this step; you will of course be unable to perform suggested tests from Matlab.
  • The Matlab Bindings may not work with early Matlab versions. Version 0.7.3 was built against R2008b; this should work against any post-R2007a version, I think. Please let us know if not.
  • Matlab must be able to find the BRAHMS executables, and that means it must see the changes to PATH. Two of our five RC testers were running Matlab through an "Application Launcher", preventing Matlab from seeing changes to PATH until the Launcher was restarted. If you get a message like "brahms is not a recognised command" when running through Matlab, please restart your machine before assuming you have another problem.

To use BRAHMS from Matlab, you need to augment the Matlab path so that it can find the BRAHMS and SystemML Matlab Bindings. Until you complete this step, entering brahms at the Matlab prompt will produce the error ??? Undefined function or variable 'brahms'. The path you need to add is the following.

You can add Matlab paths in (at least) two ways:

  1. Go to the File Menu, select "Set Path", and then "Add Folder". For a persistent change, hit "Save" so that Matlab remembers the path next time you start it up. Type rehash toolboxcache at the Matlab prompt to make the addition accessible.
  2. Use the addpath command. For a persistent change, place the addpath command in your startup.m so that it gets executed every time you start Matlab.

Testing

If all those paths were added correctly, and the associated software is installed correctly, you should be able to successfully run the following from Matlab:

  • brahms generates the same output as running this command from the shell prompt.
  • brahms_test solo tests Solo in all kinds of ways, and generates a series of messages of the form "running XXX".
  • brahms_test sockets tests Concerto in all kinds of ways, and generates a series of messages of the form "running XXX".
  • brahms_test mpi tests Concerto (MPI), and should work if you can successfully execute mpiexec -n 2 echo hello at a shell prompt.

Older Matlab Versions

If the test fails, make sure you have Matlab R2007a or later. On older Matlab Versions the mex extension was dll (it is now mexw32). Read more on the Errors page.