GPU Divorce

I’ve got a couple common applications on my Window 10 system… Adobe Photoshop and Microsoft Office.

Photoshop is obviously graphic intensive. It benefits from a good GPU. I had assumed that Microsoft Word and Excel wouldn’t care about GPU settings at all.

My system has an on-board Intel HD Graphics 4600 driver. It’s powerful enough for someone who doesn’t play video games. It also has ports for 3 displays. I made a neophyte mistake and didn’t realize that two of the connectors on the motherboard are Display Ports. I hoped to do CUDA development as well as have 3 monitors, so I bought an nVidia card that had two outputs so that neophyte me knew that the PC could handle 3 more monitors. I upgraded it this year with an GeForce GT 1030 nVidia compatible… Not powerful enough for serious game play, but within my budget.

The problem:

Sometimes Photoshop would get in a state that it couldn’t open anything nor create new images. I hoped that an upgrade of the video card and an upgrade of the version of Photoshop would fix the problem but I was left right where I started.

I contacted Adobe support and after some work, found that the solution: Disable the motherboard video drivers and only open photoshop on a monitor tied to the nVidia card. I believe this works because Photoshop now knows which GPU to use and there’s no inter-GPU data transfer.

Then, I had a new problem, Microsoft Word and Excel became horribly sluggish. Really bad! Long story short, the solution to that appears to be only run Word on the monitor connected to the Intel graphics card.

My video cards are not playing nice. I would say they’re getting ready to have a divorce. The nVidia card is going to take custody of Photoshop while the Intel is running away with Microsoft Office.


  • CUDA is a software technology for accessing the parallel resources on nVidia cards in C++. I’ve never actually used it, so my use of CUDA is still only aspirational.

I was wrrrr

I was wrrr
I remember Happy Days where Fonzie (Henry Winkler) was so macho he couldn’t say “I was wrong.”

When I’m trying to figure out why something is wrong, it’s easier to blame someone else. Usually, my first guess is not “It’s my fault.” However, I’ve learned that if I’m programming and I think it’s a compiler bug, I’m probably wrong.

I have a spreadsheet of driving statistics from 2003 to 2017. I was cleaning house this month, looking for old documents to scan before I shredded them. I was pleasantly surprised to find a few months of gas receipts from 2010 that weren’t in the spreadsheet. Score!

I entered the data and wanted to include it in my summary table showing each year’s totals.

I got a new row for 2010 set up. But 2010 had $0.00 spent and 0.000 gallons and wouldn’t show what I expected. It was very frustrating. I was trying to force Excel to do-the-right-thing and calculate those values and it refused to. Matrix formulas were a new to me, so I thought it must be some subtle Excel flaw. (Thinking along the lines of it’s someone else’s fault.)

I was getting pretty frustrated until I looked at my table a little closer. All of the other rows had the beginning date on the right and the ending date to the left, backwards!

When I added a 2010 row, I had entered the dates normally. Oops! I was wrong. Rather than kick myself, I just swapped the dates.

It wasn’t a (figurative) compiler bug after all nor someone else’s fault. I wonder how often I make equivalent assumptions in real life?

After trying to tell myself the backwards columns were too much work to fix, I noticed how much time I had already wasted because they were wrong. It turns out, Excel is smart and it was trivial to fix.

Table of gas usage statistics
(The 2010 receipts didn’t have mileage and the table shows zeros for that data.)