The unfeasible AI gaming processor

Send to a friend Print

Help more people find out about this story

Del.icio.us
StumbleUpon

Nathan Davis08 September 2006, 3:13 AM

News is buzzing of yet another specialised processor aimed at the gaming market. It's full of potential, but here are all the reasons youwouldn'twant one.


aiseek-b2.png

Another new company to make a splash, AIseek, has recently announced it is creating a new processor designed to accelerate artificial intelligence within games. It's called the 'Intia Processor' and you would ordinarily be able to see a few synthetic demonstrations of it in action, but the videos were down at the time of writing.

Hot on the heels of the announced Bigfoot Killer NIC and having seen the AGEIA PhysX card hit the market, we're looking at a rising trend of manufacturers attempting to further modularise the components within a PC. In theory, the concept is a beauty -- if you want better physics, plug in a card to handle it; if you desire better AI, throw a card its way -- but reality isn't this simple.

AIseek feels that in order to address the oxymoron that is AI in today's games (it mentions RTSs, RPGs, and Action/Shooters), we are in need of a dedicated processor that can take the strain from the CPU. Unfortunately for AIseek, I feel it is talking a load of rubbish. There is no need for such a processor, at least in the form of a dedicated processor. I didn't say never, however even in the near future it is completely unnecessary and unfeasible to implement, at least for PC gaming.

aiseek-2.pngWhy is it not needed? There would be no benefit from using a specialised AI accelerator in today's games, as the AI is, frankly, terrible. What is there to accelerate? That which we currently call impressive would be labeled in the real world as highly poke-worthy and sufficiently baby-chimp-like; cute but ultimately stupid.

Isn't this a reason as to why it is needed? Not at all. The keywords were 'today's games'. Even though AI is overtly primitive in its current form, it is indeed one of the most demanding aspects of a game in terms of raw CPU power, however it is one of the areas programmers scale down due to the necessity of supporting a wider audience. This is why AI in games is mostly laughable at best -- wide system support.

The issue I'm driving at is flooding the market with such a piece of hardware in the first place -- you know, before better AI code is available. Speeding up crap AI probably isn't worth the price of a dedicated processor, so we have ourselves a brilliant catch-22 situation. No one wants to upgrade for no noticeable performance increase and developers don't want to spend time and money coding for that which isn't going to be used by the wide majority.

I feel the problem associated with this, and even the AGEIA PhysX card, is that they're targeted at the wrong market. As they are niche products, making multiplayer-capable games where these are applicable really isn't possible, unless either the game requires the processor (thus reducing a game's prevalence) or there's a way for only the server to require it. Single player -- where AI is most accustomed -- might benefit, however in a world where multiplayer is king, a niche processor for the smaller market is hardly ideal nor inclined to encourage developer support.

Then there is the upgrade issue. Considering that the AI processor will continually need upgrading, this will segregate its own market and create a messy trail for games developers to work with. Ultimately, I don't believe there is a great enough concern or need for better AI in games to warrant this new level of complexity.

aiseek-b1.png

Such specialised processors are better targeted at the console market where developers are guaranteed that each and every system playing their games will have access to such hardware. That being said, there would be a vaguely improved chance of such technology being implemented in the PC world if the technology of these processors were to mingle its way onto existing chips, such as GPUs.

Having an AI processor might be dandy if the code were there for it, however the benefits are far outweighed by the CPU doing a fine job as it is, particularly as everyone has one and it has always been an upgradeable component itself.

Handy, that.


Post your comment



Comments

RSS feed Email alert

Tin:

One thing that needs clearing up right now is a standard API. Remember the whole 3DFX/OpenGL/DirectX thing where most cards only did 1 or 2, and most games only supported 1 or 2.

The idea of an AI accelerator doesn't really thrill me. I like being able to predict AI. Although random-crap AI annoys me.

I assume the AI accelerator would be software upgradable... Pointless otherwise. It would need to be able to handle custom behaviours for differing types of "personalities" and situations or it wouldn't work with many game types.

29 February 2008, 8:28 PM (1 year ago)report abuse Send to a friend reply

Jack Cox:

Totally agree that there isn't anything to take advantage of this available right now, but no game engines included support for hardware T&L ten years ago either. Give it time. The console makers will adopt, the gamers will follow. Trust me, these are really useful chips.

They are useful because they in fact target only a very specific subset of functions - most specifically pathing related functions. Pathing is extremely processor intensive when done in a mathematically sound fashion, so most developers tend to hack a basic system on top of a game engine in order to minimise the stress on the CPU.

Generally this means that paths are "noded", meaning that the AI will not deviate from set lines of movement, because it needs to travel through the world by navigating between pathing points that have been hard coded into the game world. The other option is to have horribly inconsistent pathing which is calculated on a "near enough" basis. The end result is completely logic bereft pathing, which you can see in lower quality RTS games quite often.

The point of this AI chip is to move pathing over to hardware, so that _behavioural_ AI can be extended in the regular CPU. You're right - AI opponents in games suck balls. But they suck balls because there isn't enough power after the most crucial AI routines - movement and pathing - are calculated to make them behave more realistically.

29 February 2008, 8:28 PM (1 year ago)report abuse Send to a friend reply

Nathan Davis:

Absolutely, Jack Cox. Such a specialised chip indeed carries huge potential in terms of improved AI by passing off the most intensive routines to a dedicated chip, however the major challenge is how to implement such a processor en masse. I feel this particular chip is not the one for that job.

AIseek is developing a completely separate processor that handles AI; as transformation and lighting are vector-based calculations, GPUs didn't require such a drastic level of change nor an entirely separate processor given that the processor is already a proficient calculator of vectors.

T&L did take an incredibly long time to find its footing in games, but it was easily implemented into GPUs to just sit around and be available until it was eventually picked up by developers. It was much less of an implementation problem, at least in comparison to a separate, dedicated, AI processor.

Seeing as this particular take on the AI issue is closed and proprietary, I can't see it going far, unless it can get its footing in existing processors or proprietary systems such as consoles.

If this was instead a broader hardware accelerator for a logic programming language -- namely an implementation of Prolog -- it would have farther reaching capabilities than solely game AI. Such a wider-purpose and open-standard processor would be a more viable processor as it would contain a greater degree of flexibility in terms of future uses. I am being ambiguous here because I really don't know how developers would take to such a processor in the future, other than that it would be far more useful than if heavily restricted in this current form.

This is doubtlessly a fantastic chip, but only when two important and rare conditions are met: developers must write code for this closed standard and the majority of computers must be built with this proprietary chip inside. Combined, I believe these form the largest hurdle for such a processor, and this one in particular.

I would be happy to be proved wrong, particularly if it is a hardware accelerator for broader logic programming, however, given the information that is available and its closed nature, this chip's success as a widely-accepted processor is somewhat questionable.

29 February 2008, 8:28 PM (1 year ago)report abuse Send to a friend reply

Potoroo:

Once developers routinely multithread their games then the issue of "strain on the CPU" becomes moot as the world goes multicore. I already have a dual-core CPU. Quad-cores aren't that far away. Intel is projecting hundreds of cores in the not too distant future. AIseek is already dead in the water.

29 February 2008, 8:28 PM (1 year ago)report abuse Send to a friend reply

Jack Cox:

Once developers routinely multithread their games then the issue of “strain on the CPU” becomes moot as the world goes multicore.

Many developers have been writing multi-threaded engines for a long time. Plus, most of the new dedicated gaming devices use a series of cores that are targeted at a particular area of processing - sound, graphics etc - just like this chip. So why not use this one too?

Intel is projecting hundreds of cores in the not too distant future.

Intel MD: people aren't buying CPUs from us as much any more!
Intel VP: we need vision! I see... I see... HUNDREDS OF CORES!

Funny that a CPU manufacturer is predicting such things. Oh no it isn't. Hyperbole is what they do.

AIseek is already dead in the water.

See discussion above of why a dedicated chip is better for these calculations.

29 February 2008, 8:28 PM (1 year ago)report abuse Send to a friend reply

Potoroo:

"Many developers have been writing multi-threaded engines for a long time."

Not as many as you think, which is why most games didn't benefit when the first dual-core CPUs appeared. As long as the world was single-core there was no point in developers investing extra effort in something with no gain. It's changing now.

"Intel MD: people aren’t buying CPUs from us as much any more!
Intel VP: we need vision! I see… I see… HUNDREDS OF CORES!

Funny that a CPU manufacturer is predicting such things. Oh no it isn’t. Hyperbole is what they do."

It's not hyperbole. It's intelligent planning. Intel estimates 85% of the CPUs they sell in 2007 will be dual-core. I would expect AMD's estimates to be similar.

"See discussion above of why a dedicated chip is better for these calculations."

It's just another CPU at a time when CPU manufacturers have already begun putting multiple CPUs in their cores. It's a complete wank.

29 February 2008, 8:29 PM (1 year ago)report abuse Send to a friend reply

Teaspoon:

The GPU is nowhere near as specialised as people assume. It's a fast, powerful vector processor (or collection of vector processors, really) that's optimised for the vectors and matrices used in three-dimensional rendering - which are, oddly enough, four-dimensional. The thing that makes it useful as a graphics card is the driver software that maps API calls from DirectX and OpenGL to efficient hardware calls.

Game physics tend to involve calculations involve geometry in three dimensions, meaning that three- and four-dimensional vector calculations are going to show up a lot. If you've got a chip that can perform the common vector mathematics tasks as single operations instead of long sequences of operations, then you've got a chip that can do an awful lot of the work involved in physics calculations a whole lot faster than a traditional single-number-operation-at-a-time CPU. Once you have the basic vector mathematics in the hardware, it's just a matter of making drivers so that calls to physics APIs get mapped to efficient hardware calls. As already explained, a Hardware T&L-enabled video card certainly has this vector processing capacity. That's why GPUs also make great PPUs. The PhysX is probably a little more efficient and a lot less warm than your Radeon because it doesn't contain the extra hardware for colouring in after it's drawn the outlines, but I'd be surprised if its performance was tangibly better.

As an aside, some very clever/geeky people have even come up with ways to run things like database engines on their GPUs, with vector processing letting them process multiple records in parallel. You can just load the same field of four different records as the four elements of your vector and it'll do your four multiplications or additions at once. It's really neat, but it's something that can only be done if you've got a bunch of items that will require the same sequence to be performed on each one.

Now, let's look at the algorithms an AI accelerator would accelerate. I've not actually done any pathing AI, but I'll go out on a limb and guess that the calculations involved are going to be single-dimensional. It probably depends on the game, to be honest. A chess AI will surely only need to test single-dimensional paths. If you need to test a 3D path then you're probably going to need to see about getting the 3D physics calculated for your path as well, so you might as well palm off all the multidimensional stuff to the PPU.

The big thing about pathing is that many paths need to be tested to allow selection of an optimum path. So basically what you need is support for a lot of different paths to be tested at once, with different calculations necessary along each path according to the responses to conditions met on that path. The different-calculations thing there precludes the use of a vector processor to parallelise the processing. clearly, what you need is multiple threads. The obvious way to get multi-threading working fast is to have multiple processor cores. The AI accelerator is likely to have a high count of specific-function (read "less useful than CPU") cores. If a huge increase in CPU core counts is the way of the future, what use can a chip that has a bunch of limited-function cores be? An AI accelerator will have significantly more cores than current CPUs, but it's no use until it gets software support. By the time that software support arrives, CPU core-counts will be high enough to render the AI accelerator useless.

29 February 2008, 8:29 PM (1 year ago)report abuse Send to a friend reply

anonymous user Anonymous user


Tags