so if i was running lets say a 1070 and 1080ti together, there should be 2 FahCore_21-22 processors each using a single hardware thread?
Correct. (While I used the term 'process' in #842, maybe a more common term for this, especially on Windows, is 'task'.) The FahCore_21/22 GPU application is a single-threaded program on the CPU; just its portion which runs on the GPU is massively parallel. In contrast, FahCore_a7 for CPU folding is multithreaded, of course.
Mostly pushing core 2 on a FahCore_22 process but i see light usage on other threads but i assume that's cause of the 4 tabs one including youtube open in opera, would i be best to lock this FahCore process to to a affinity of core 2 or just leave it alone?
You don't need to set an affinity for FahCore_22. If the Windows kernel shifts it to another logical CPU occasionally, there is no harm done. Rather, other workload which you have running besides F@h, e.g. a game, may benefit if the kernel is allowed to move the FahCore_22 task to another logical CPU when it sees fit.
Fair to assume off what ya posted its ONLY using core 2 anyways and my assumption on other threads is correct?
It sounds indeed like the kernel is preferring to keep it on the same core all the time.
For an I/O heavy application which I believe FahCore_21/22 to be, it is beneficial if the kernel keeps the thread on a core which is near to the device that is being accessed. This can be a concern on dual-socket computers with separate PCIe roots on each socket. The Zen1 based ThreadRippers and Epycs have multiple PCIe roots too, because they are internally organized like classic dual- or quad-socket computers. But with i7700K/ socket 1151, or Ryzen 3000/ AM4, each core has the very same path to each PCIe lane in the system, making this easy for the operating system.
For a computationally heavy application, it is beneficial to throughput if the kernel keeps each program thread on the same physical core for as long as possible. That way, the processor can make best use of its caches.
For a multithreaded application which is very sensitive to inter-thread communication latency (this
may apply to some games), it is usually best if all threads of the application are concentrated on the same socket, or in case of Zen1 and Zen2 processors, on the same Core Complex. (The desktop variants of Zen1 and Zen2 based processors are divided into either 4-core/8-thread core complexes, or 3-core/6-thread core complexes. Ryzen 9 3900X has got four core complexes with 3c/6t each, AFAIK.)
I am not up to date how well recent Windows versions handle these different situations. But all of this is playing a very minor role on desktop computer hardware anyway; this gets more of a concern on larger servers.