I had a similar issue with my 2002 Duramax. Smoke on idle, little bit of a puff upon acceleration and then no problems when cruising along.
I solved my problem by:
1) Running the engine to operating temperature.
2) Removing the fuel filter and putting in a new one.
3) Filling the reservoir with "Sea Foam" (a cleaner you can buy at any auto parts shop)
4) Re-installing the fuel filter housing.
5) Idle the engine for 3 minutes.
6) Let it sit for 20 minutes.
7) Run for 3 minutes.
8) Let it sit for 20 minutes.
9) Run the truck hard (up hills / tow a trailer) for 20 minutes.
This Sea Foam was able to hot soak my injectors twice and broke up whatever was clogging one (or more) of my injectors.
Cost:
$10 for Sea Foam
$35 for new diesel filter.