There must be something about your configuration that is causing this, since it is not happening broadly. Without any system info we will not be able to make any progress. Even with system info we would most likely need a repro to determine what is going wrong.
This happens with SLI is enabled. Turning it off seems to be the work around
Nothing extracted yet.
Here is some strace output from while its consuming CPU
clock_gettime(CLOCK_MONOTONIC, {2609, 483569833}) = 0
clock_gettime(CLOCK_MONOTONIC, {2609, 483636945}) = 0
select(97, [96], NULL, NULL, {0, 0}) = 0 (Timeout)
poll([{fd=60, events=POLLIN}], 1, 0) = 0 (Timeout)
poll([{fd=90, events=POLLIN}], 1, 0) = 0 (Timeout)
poll([{fd=92, events=POLLIN}], 1, 0) = 0 (Timeout)
time(NULL) = 1375411195
clock_gettime(CLOCK_MONOTONIC, {2609, 484100981}) = 0
poll([{fd=27, events=POLLIN}], 1, 0) = 0 (Timeout)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN}], 1, 50) = 0 (Timeout)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {2609, 534884271}) = 0
poll([{fd=80, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=80, revents=POLLOUT}])
writev(80, [{"&\0\2\0\203\2\0\0", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=80, events=POLLIN}], 1, 4294967295) = 1 ([{fd=80, revents=POLLIN}])
recv(80, "\1\1h\7\0\0\0\0\203\2\0\0\303\1 \1\377\4\24\1\377\4\24\1\4\0\0\0\0\0\0\0", 4096, 0) = 32
recv(80, 0xa564858, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
recv(80, 0xa564858, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=24, revents=POLLOUT}])
writev(24, [{"\24\0\6\0\33\0\200\3\233\1\0\0\233\1\0\0\0\0\0\0\1\0\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
poll([{fd=24, events=POLLIN}], 1, 4294967295) = 1 ([{fd=24, revents=POLLIN}])
recv(24, "\1 Cu\1\0\0\0\233\1\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0) = 36
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=24, revents=POLLOUT}])
writev(24, [{"\24\0\6\0\33\0\200\3d\1\0\0\4\0\0\0\0\0\0\0\0\4\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
poll([{fd=24, events=POLLIN}], 1, 4294967295) = 1 ([{fd=24, revents=POLLIN}])
recv(24, "\1 Du\3\0\0\0\4\0\0\0\0\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0) = 44
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=24, revents=POLLOUT}])
writev(24, [{"\24\0\6\0\33\0\200\3\233\1\0\0\233\1\0\0\0\0\0\0\1\0\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
poll([{fd=24, events=POLLIN}], 1, 4294967295) = 1 ([{fd=24, revents=POLLIN}])
recv(24, "\1 Eu\1\0\0\0\233\1\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0) = 36
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=24, revents=POLLOUT}])
writev(24, [{"\24\0\6\0\33\0\200\3d\1\0\0\4\0\0\0\0\0\0\0\0\4\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
poll([{fd=24, events=POLLIN}], 1, 4294967295) = 1 ([{fd=24, revents=POLLIN}])
recv(24, "\1 Fu\3\0\0\0\4\0\0\0\0\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0) = 44
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=24, revents=POLLOUT}])
writev(24, [{"\24\0\6\0\5\0\200\3\233\1\0\0\233\1\0\0\0\0\0\0\1\0\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
poll([{fd=24, events=POLLIN}], 1, 4294967295) = 1 ([{fd=24, revents=POLLIN}])
recv(24, "\1\0Gu\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0) = 32
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=24, revents=POLLOUT}])
writev(24, [{"\24\0\6\0\5\0\200\3d\1\0\0\4\0\0\0\0\0\0\0\0\4\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
poll([{fd=24, events=POLLIN}], 1, 4294967295) = 1 ([{fd=24, revents=POLLIN}])
recv(24, "\1\0Hu\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0) = 32
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=24, revents=POLLOUT}])
writev(24, [{"+\0\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4
poll([{fd=24, events=POLLIN}], 1, 4294967295) = 1 ([{fd=24, revents=POLLIN}])
recv(24, "\1\2Iu\0\0\0\0\6\0\300\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0) = 32
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {2609, 539974414}) = 0
clock_gettime(CLOCK_MONOTONIC, {2609, 540039776}) = 0
time(NULL) = 1375411196
time(NULL) = 1375411196
read(19, "", 1023) = 0
semop(1343488, {{0, -1, IPC_NOWAIT}}, 1) = -1 EAGAIN (Resource temporarily unavailable)
nanosleep({0, 0}, NULL) = 0
clock_gettime(CLOCK_MONOTONIC, {2609, 540704230}) = 0
time(NULL) = 1375411196
waitpid(-1, NULL, WNOHANG) = -1 ECHILD (No child processes)
clock_gettime(CLOCK_MONOTONIC, {2609, 540922007}) = 0
clock_gettime(CLOCK_MONOTONIC, {2609, 540989393}) = 0
select(97, [96], NULL, NULL, {0, 0}) = 0 (Timeout)
poll([{fd=60, events=POLLIN}], 1, 0) = 0 (Timeout)
poll([{fd=90, events=POLLIN}], 1, 0) = 0 (Timeout)
poll([{fd=92, events=POLLIN}], 1, 0) = 0 (Timeout)
time(NULL) = 1375411196
time(NULL) = 1375411196
clock_gettime(CLOCK_MONOTONIC, {2609, 541513075}) = 0
poll([{fd=27, events=POLLIN}], 1, 0) = 0 (Timeout)
recv(24, 0x971df68, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=24, events=POLLIN}], 1, 50) = ? ERESTART_RESTARTBLOCK (To be restarted)
--- SIGINT (Interrupt) @ 0 (0) ---
Process 6129 detached