Does procedural materials/node generated materials make heavy use of the GPU or the CPU?

I’ve been searching for this topic for days and no thread or post around here or some other site talks about this in depth; as far as I could rescue from other discussions, procedural materials/node generated materials take a big hit in rendering times, but why is that? is because these kind of materials put a lot of work on the CPU? are those single-thread bound or can exploit and take advantage of CPU multi-threading? are they GPU intensive? hope the people of blenderartist can help me with this one, so I can make an informed choice about the hardware I need to get

Each node takes an amount of time to process. The more nodes you add, the longer it takes to process all of it.

The amount of time will vary from node to node but for this example lets say 0.5s for each node. If you have a 3 nodes in sequence it will take 1.5s to process. If you have 6 nodes in sequence it will take 3s to process.

I am assuming you are talking about rendering. From what i understand i think the nodes are calculated with the device you are using to render. Maybe someone who has looked under the cycles hood could give confirm if this is true or not.