Chip Promises AI Performance in Games
Heartless Gamer writes to mention an Ars Technica article about a dedicated processor for AI performance in games. The product, from a company called AIseek, seeks to do for NPC performance what the PhysX processor does for in-game physics. From the article: "AIseek will offer an SDK for developers that will enable their titles to take advantage of the Intia AI accelerator. According to the company, Intia works by accelerating low-level AI tasks up to 200 times compared to a CPU doing the work on its own. With the acceleration, NPCs will be better at tasks like terrain analysis, line-of-sight sensory simulation, path finding, and even simple movement. In fact, AIseek guarantees that with its coprocessor NPCs will always be able to find the optimal path in any title using the processor." Is this the 'way of the future' for PC titles? Will games powered by specific pieces of hardware become the norm?
They want to completely ruin game performance by killing the PCI bus bandwidth
Positional updates to a character in the game are very low bandwidth - I mean, MMO's do this all the time and don't saturate network connections, much less a PCI buss. The calculations are heavy but the input and end result are just a few numbers, plus a terrain map you would load once and forget until you zone, at which time a little latency is happening anyways.
causing the GPU to stall waiting on the position/orientation and generated geometry that it will have to render?
Read carefully. It isn't generating terrain, just sending around updates. Diffs between 2 meshes don't have to be big. The mesh will probably stay the same, just relocate. Send an array of updated points with the corresponding indices. It isn't hard to imagine that a dedicated processor could do these things significantly faster than a processor that is already breaking its behind doing thousands of matrix transformations, player calculations, sound and graphics effects, etc.
I fully believe their claim is totally realistic. With a dedicated circuit to process A* or Dijkstra's algorithm (or solve generic network traversal problems) you could very easily beat a general-purpose processor by 200x. While computer CPU's are very good at doing a lot of different things, they generall y suck at doing specific things extremely fast. A dedicated DSP chip for example can easily outperform a general-purpose processor doing a DSP subroutine by 200x. If they can make these things cheap enough where they can start getting integrated into video cards or whatnot without affecting the price too much, I think they may have a chance.
> In fact, AIseek guarantees that with its coprocessor NPCs
> will always be able to find the optimal path in any title using the processor.
It has been mathematically demonstrated there is no general pathfinding solution significantly better than trying all possibilities (though pretty much only in degenerate cases could the best path be difficult not to find by a hill-climbing heuristic.)
Still, it should be trivial to whip up a case that would require these dedicated processors longer than the known age of the universe to find the optimal path.
(-1: Post disagrees with my already-settled worldview) is not a valid mod option.
This is just another spoke in the wheel of reincarnation. This too shall pass.
This space for rent.
Jeeze. What the hell is with the whole accellerator thing now?
A physics accellerator which does jack and shit when compared and mid to high end graphics solutions. It's offloading some of the CPU load, sure. But at high-res, the CPU is NOT the bottleneck.
A network accellerator which is going to do jack and shit. It's offloading some of the network processing from the CPU, sure. See "the CPU is not the bottleneck". Sure, some people are going to build apps for the embedded Linux. Great.
Now an AI accellerator. So the AI runs faster. When the AI isn't really the issue. Nor is the CPU underlying it. It offloads the AI from the CPU, sure. See "the CPU is not the bottleneck". Nor is there a real need to have 60,000 AI running simultenously in a scene with 4 characters in it.
So what's going to happen? What difference is this going to make to your real gaming experience?
Chas - The one, the only.
THANK GOD!!!
You've practically stated the solution yourself - what we need is a LISP coprocessor. (I'd personally prefer Haskell but LISP is more traditional for AI.)
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
First, graphics won't work on an FPGA. I mean technically it's feasible, but the demand for graphics is great enough to make it economical to produce graphic ASICs such as those Nvidia and ATI produce.
However the FPGA idea is a good one, and is being researched. Actually, what is even more interesting is to utilize transistors on the CPU die to integrate reconfigurable hardware accelerators. The research is being done currently, and will allow for CMP + reconfigurable systems so that custom processors can be integrated at runtime. Additionally these systems will allow dynamic reconfigurations, so that the hardware can be time-multiplexed between different configurations (although the configuration time can often be on the order of miliseconds). Additionally, this allows for straightforward upgrades to your processors. Want to run games faster? Throw more hardware, double the size of the reconfigurable area. This will allow the game to do more in parallel, or to cache configurations etc (causing more routines to run in hardware rather than software). And everything is compatible as the user just needs to download the synthesized version of the hardware for their reconfigurable arrays.
Of course this scenario is quite a ways in the future, and it must be remembered that hardware designs are much harder to create than software designs, and hardware/software design is a very difficult problem. The future is there, it just may take a while for reality to catch up with the research.
Phil
Trying to sell solutions like a "Physics chip" or an "AI chip" is the joke. They are trying to sell you what could be a very generic add-on product but they are shoe-horning into doing a very limited set of things. They do this so they can charge developers an arm and a leg for the API, and so that they can make you buy three or four accelerator cards to use up all those empty PCI-e slots (thanks to motherboard integration of everything).
No, the answer is simple multithreading and taking advantage of dual core machines (or quad core when that day comes around).
I could maybe see the use of a parallel/vector processing add-in card maybe coupled with an FPGA that developers could use to tackle specific embarrasingly parallel problems for the game code. The card would be multi-purpose and it'd create a new market for developers to come up with FPGA code that does whatever hot new thing might need accelerating:
1) Water and cloth simulations
2) Procedural texture generation
3) Radiosity calculations
4) Swarming/agent-based modeling
You don't need seperate cards to do this stuff. One card is fine. Two for extra oomph. Or in the case of AMD w/hypertransport, you could have special purpose plug-in coprocessors.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON