Page 1 of 1

announcing MARK 11.2

PostPosted: Sun Nov 16, 2025 4:33 pm
by cooch
As of this afternoon, Gary has released 2 new versions of MARK (also mirrored on the PhiDot server). Both versions have the same 'capabilities' (i.e., same data types), but differ in the underlying compilation in an attempt to make MARK 'faster' on newer CPU architectures. Specifically, on newer CPU's (typically, anything >2015), there are 'hard coded' instructions in the CPU that make certain numerical operations (in particular, matrix manipulations) much faster.

So, two versions of the MARK installer are now available: setup-v3.exe (for computers with a CPU architecture dated 2015 or later -- by proxy, any manchine purchased 'new' in the last ~10 years), and setup-v2.exe for anything older.

The performance gain on newer CPUs can be considerable - on a 'modern' CPU, the setup-v3.exe file will produce results 5-30% faster than setup-v2.exe. Older machines will not be able to run the executable files in setup-v3.exe because they likely do not support AVX2 (Advanced Vector Extenstions) first introduced in CPUs around 2011, but fully implemented by 2015.

So, if you have a machine purchased new within past 10 years, might be worth updating to v3. On the other hand, if you're not sure, try v3. If it crashes and burns, it is probably because your machine is too old for the v3 instruction set. At which point, simply downgrade to the v2 version, which should work. If nothing else, the v2 version will give you a slight performance tweak regardless of your CPU (the gain most noticeable for v3 on newer CPUs).

Note [1]: the bigger the job you're running (lots of occasions, lots of model complexity), the more noticeable the performance gain will be. If you're running something computationally 'trivial' (say, the dipper data), you likely won't notice anything at all.

Note [2]: the current Linux version of the MARK executable uses v2. I'll provide both v2 and v3 within the next day or two.

Re: announcing MARK 11.2

PostPosted: Sun Nov 16, 2025 5:45 pm
by cooch
For example, using a 'big ugly' job that Gary and I routinely use to benchmark things (following all run on the same computer):

Using 'old MARK':

Code: Select all
For this job, CPU Time in mins was 63.252 and System Time in mins was 17.229.


Using 'MARK v2'

Code: Select all
 For this job, CPU Time in mins was 62.052 and System Time in mins was 16.196.


Using 'MARK v3'

Code: Select all
 For this job, CPU Time in mins was 46.994 and System Time in mins was 12.406.


So, reduction from ~17 minutes to ~12.5 minutes.