I noticed that while plate solving on the Raspberry Pi 4 that it was only taxing a single core on the system. Now the Pi4 already performs much better than the Pi3. But I can't help but wonder how much faster it would solve an image if it could task all 4 cores. Is there any way to implement multithreading for astrometry?
Isn't the inparallel option exactly what you are looking for? According to the astrometry.cfg file:
# Check the indices in parallel?
#
# -if the indices you are using take less than 2 GB of space, and you have at least
# as much physical memory as indices, then you want this enabled.
#
# -if you are using a 64-bit machine and you have enough physical memory to contain
# the indices you are using, then you want this enabled.
#
# -otherwise, leave it commented-out.
Nope that option keeps multiple index files in memory at the same time so it doesn’t have to keep loading them. It still has to wait for one file to be checked before moving to the next.
The desired option would use more than one computer core at the same time to solve images. Another words, it could check several files at the same time.
Thanks for the clarification. The documentation of that option is a bit misleading! "Check the indices in parallel?" should read "Load the indices in parallel?".
It just so happens I was speaking to a man at my last RASC meeting who was working on redeveloping the way astrometry.net works on Windows. If I see him again I will inquire about multithreading.
From the looks of it he is working on making that obsolete. Something about no longer running within a UNIX shell. I didn't have a chance to go into great detail.
ANSVR runs a simple web server within a Cygwin environment but the underlying software that performs the actual plate solving still is astrometry.net. I am afraid that it will take more than getting rid of Cygwin to make it truly mtithreading.