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.

YYJ – a historian

One of my current projects is yyj (for lack of a better name. It’s the archive file’s suffix.). It’s a file historian system. It disclaims any aspiration to be a version control system. It is primarily meant to be used by a single user.

The goal of the system is to efficiently maintain a history of documents. It is not based on a check-in model. Instead, the history is updated continuously in the background. If a file was saved every half hour, each update would be available without any intervention from the user.

It make use of the fact that .docx and .ods files are actually compressed with zip. I believe it would be efficient Java .jar files. It is optimized for XML files.

I’ve been using variants of yyj for many years and find it useful. The versions I’ve been using aren’t useful by anyone else because there is no UI. Variants have existed since 1989.

My inspiration for polishing it was listening to a student describe his Capstone project at IUPUI. He mentioned having to make copies repeatedly and struggle to keep the copies organized and up to date.

yyj would make that organization trivial. The student could retrieve any past version if it was needed. He would only need to save a single file to keep his work safe from software and hardware failures. Intermediate versions could be deleted when they aren’t relevant any more.

I think that if I succeed, yyj could be useful to very many people.

Climbing the Stairs

In the morning, I saw the sun rise over the neighbor’s house. It was a beautiful golden sun. I welcomed its warm glance into my window.

As I left the house for another day of my journey, the sky laughed into my ears. I heard a cricket symphony and I watched the breeze. Every time I turned, I saw another glorious vista. Each word I thought could not be set free. I was running across the sky and it was time to land in the waves.

A small light filled my room. I remembered that the darkness is gone forever. A word in the book was enough to open my eyes. I was in love and I could never forget where I have been. The walls breathed my voice and the dust fled into my shadow.

I am in today. I am in this hour. I am in this now.