Some specific design requirements/goals:
- Budget is not a particular concern so long as it's "something reasonable"
- "Small form factor"; I don't think I'll be able to fit everything something like a SilverStone Milo miniATX case but that size is the nominal target
- Operating system will be Ubuntu 16.04, so hardware should be functional with minimal issues. Mostly a non-issue these days for most products.
- Host at least 3 Kinect 2 sensors using the libfreenect software (it's on github for reference); this means I need 3 separate USB Host Controllers that are Intel or NEC chipsets - likely via add in card(s), will need more than 1 lane of PCI-E each, webpage says "x8 or x16 usually works"
- Edit: USB chipset almost certainly needs to be Intel or NEC; in particular ASMedia is know to not work
- NVIDIA based discrete graphics card for use with CUDA; perhaps a Zotac GeForce GTX 1060 Mini (6GB) or Quadro P1000
- Intel CPU with built in GPU for use with VAAPI; I'm concerned about cooling issues if I go with something with a higher TDP than an i7-7700, but I'm not sure how I'll know if there will be issues without having hardware to test with
- Some additional overhead available on the system after running 3 Kinects in order to use the data generated by the Kinects; i.e. so long as the system doesn't overheat, MOAR is better
- If the MB comes with a 10 Gb Ethernet port, that'd be a bonus, but I suspect that any processor that supports 10 Gb Ethernet won't have a integrated GPU for VAAPI support
So the goal here is to figure out what processor, MB, and add in cards get me the most performance in the smallest form factor that fit these constraints. After that I'll sort out RAM etc., but those items should be much easier to spec and choose from. I'd like to avoid options that require a "normal" sized PC case, I realize that with a larger case I can get much more performance and I have a much wider range of options, but that's a route that ought to be relatively straightforward and is more limited by budget rather than by any specific design requirement.
Note that the fact that I'm using Amazon links is more for convenient linking than any particular intent to buy via Amazon. And apparently I can't post links yet, so no links.