An update and some clarifications
Update: a new version of the GPU miner has been released which improves CUDA mining performance by about 250%. It also finally introduces support for OpenCL, though it requires much more testing and optimization to be competitive.
Clarification: despite the impression that some FUD trolls are trying to make, a large amount of red tips (as in a picture posted above) has literally nothing to do with "51% attacks", or any form of viable attack. Red blocks are blocks which are disconnected from most of the network, they occur in several scenarios. In particular, a block which points to a very old block will be red. The picture above is the consequence of a scenario where a miner kept posting blocks pointing at old blocks (e.g. because they are getting templates from an out of sync node without realizing). The picture is a few weeks old, where we first encountered such a scenario and realized that red tips posed a slight issue due to some bottlenecks in our reachability mechanism (that is, the mechanism which efficiently calculates whether one block is in the past of another block). These bottlenecks have been fixed two versions ago and have been thoroughly tested against amounts of red tips two orders of magnitudes larger than the picture. Every once in a while an inattentive miner does causes an increase in red tips and this has not caused nodes to increase CPU usage, whereby spamming red blocks is not even a viable CPU attack (not to mention "51% attack"). People who infer that a couple of hundred of red tips imply a 51% attack probably haven't even a vague understanding of GHOSTDAG and could be safely ignored (this argument is easily quantifiable, red tips can be as old as three days before they pass the pruning point and get deleted. Our network makes one block per seconds, so a pruning Window is about 250K blocks. In the scenario depicted in the photo, there were about 500 red tips. Hence, to create this amount of red tips it suffices to hold about 0.2% of the global hash rate, which we agree is quite far from 51%). Just to bee clear, even in the old "problematic" version, in order to actually choke nodes on CPU attack the adversary would have to waste hashes equivalent to at least 1k blocks (though, in the difficulty target of three days ago, so it might be slightly cheaper than 1000 current blocks), after the update, this seems to not be a concern even if an attacker spams ten times that much (we haven't tested for more), even for nodes running on weak CPUs. For more details, you are welcome to peruse the lengthy discussions we had about this issue in our discord server.