blockwise-direct-search / bds_matlab

Blockwise Direct Search (MATLAB version)
GNU General Public License v3.0
1 stars 1 forks source link

Make sure that BDS work under both MATLAB and Octave on Linux, macOS, and Windows #66

Closed zaikunzhang closed 1 year ago

zaikunzhang commented 1 year ago

It is very important to make sure that BDS works under

{MATLAB, Octave} x {Linux, macOS, Windows}.

Roughly speaking, Octave is an open-source MATLAB. See https://octave.org/.

How to test whether our code works on all these platforms? We cannot use MATCUTEst to test, as it works only under Linux. We can use https://github.com/gratton7/OPM/tree/main/problems , which implements a large set of problems using pure MATLAB and should work on all platforms.

zaikunzhang commented 1 year ago

This should not be difficult to test. Please implement it as soon as possible.

N.B.:

  1. We do not need to test all problems in https://github.com/gratton7/OPM/tree/main/problems . We can just test 10 of them to start with. Of course, the more the better.

  2. What I mean by "test" is to see whether BDS works as expected without running into errors. How would you implement the test? Will you use performance profiles?

Lht97 commented 1 year ago

With Dr. Zhang's help, I have implemented the tests of BDS on the platform of Linux, macOS, and Windows respectively, including

  1. Parallel test: https://github.com/blockwise-direct-search/bds/blob/main/.github/workflows/parallel_test_matlab.yml
  2. Recursive test: https://github.com/blockwise-direct-search/bds/blob/main/.github/workflows/recursive_test_matlab.yml
  3. Stress test: https://github.com/blockwise-direct-search/bds/blob/main/.github/workflows/stress_test.yml
  4. Unit test: https://github.com/blockwise-direct-search/bds/blob/main/.github/workflows/unit_test.yml