Cache microarch once found

we use the function get_native_microarchitecture() multiple times in the code and if MPSD_MICROARCH is not defined then it calls archspec and thus pollutes the logs multiple times. We should probably cache the microarch once we find it. There could be multiple ideas for where to store:

  • set MPSD_MICROARCH after you find it.
  • keep a global vale
  • keep it inside the global config_vars dict