I was wondering if I could use the Titan X with an i5-8400 or would it bottleneck?
This question will be better answered on a hardware forum than on a programming forum I believe.
The answer obviously depends on what you plan to do with your GPU, but generally speaking, the host platform you propose looks like a poor match for a Titan X, i.e. it is underpowered, resulting in a poorly balanced system.
CUDA-accelerated applications also have serial portions, and you would want to make sure these apps do not bottleneck on their serial portion (which includes CUDA runtime/driver). For that, single-thread performance should ideally be high, which in a workstation configuration currently means > 3.5 GHz base clock, I would claim.
The fact that the GPU acts as an accelerator means data is being shuffled between host and device. For that to work “frictionless” even when the full memory capacity of the GPU is used, a rule of thumb for a well-balanced system suitable for all CUDA-accelerated tasks is that system memory should ideally be four times the size of GPU memory. You may get away with system memory that is twice the GPU memory.
I would call into question any modern workstation configuration with only 16 GB of system memory, independent of the use of a GPU. 32 GB should be minimum. DDR4-2666 is eminently suitable. I would consider a hexacore-CPU the minimum core count suitable for a workstation system at this time. I am working with an older quad-core CPU (3.5 GHz base clock) right now and find it quite limiting (I am looking to acquire a new system by end of this year).
The proposed configuration certainly works to start developing with, but consider mainboard/CPU/RAM as the upgradeable component of your proposed build (the Titan X being the most expensive component here)
e.g. make sure the mainboard can handle a beefier CPU (and its higher TDP) and also make sure the mainboard could accept 32 GB RAM (so make sure you only use 2 out of 4 RAM slots to have some headroom for upgrading).
Unless the i5-8400 has already been purchased, treating the CPU as an upgrade path does not seem very appealing, given that low offers for an i5-8400 seem to be around $200, while low offers for the faster i5-9600K are around $270. Maybe there is an availability problem (I haven’t checked)? I read somewhere that certain Intel CPUs are in tight supply. As far as I am aware both of these CPUs go into the same type of motherboard, so choosing the faster CPU should not drive up the cost of other components.
32 GB of brand-name DDR4-2666 (2 sticks of 16 GB each) seem to retail for less than $200 currently, so unless finances are super tight, I don’t see the point of nickeling and diming when it comes to system memory. Of course, upgrading is a much better option with DRAM: As already pointed out by cbuchner1, by installing one stick per channel first and adding another stick per channel later, there will be no need to dispose of any previously purchased hardware.