UKZN-Astronomy / corrcal

Python/C code for calibration of quasi-redundant arrays. Different (fixed) algorithm from original corrcal
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Auto select BLAS/LAPACK routines #13

Closed piyanatk closed 4 years ago

piyanatk commented 4 years ago

@sievers' arXiv pre-print discusses how c-code actually slows corrcal down for small problems:

For small (∼ 100 antenna) problems with only a few source/redundant vectors, using BLAS/LAPACK actually slows down the code, since the function overhead for e.g. Cholesky decomposition of 2x2 blocks is non-negligible. So, the reference implementation fully self- contained.

If this is true, the program should automatically select which version of the routines to use based on the number of antennas

Originally posted by @ronniyjoseph in https://github.com/UKZN-Astronomy/corrcal/issues/5#issuecomment-541986269

ronniyjoseph commented 4 years ago

Yes, that would be nice, but we should also retain the option to choose: some flag along the lines of: --optimised (None, Yes, No)

If optimised is None: Determine what is optimal elif optimised: do BLAS/LAPACK else: Use "dense" versions

piyanatk commented 4 years ago

According to Jon, BLAS is apparently not being used in the C codes, so I think we drop this issue for now.