is an a.i. processing unit possible?

her34

Senior member
Dec 4, 2004
581
1
81
one that would increase the a.i. compared to using cpu's as much as gpu's have increased graphics?
 

Loki726

Senior member
Dec 27, 2003
228
0
0
Dedicated graphics processing units have become so successful because of the sheer magnitude of graphic operations ie (vector mapping operations, texture mapping, etc..) that are done in modern applications. These same operations have to be done in almost every graphics application, so it makes sense that having a dedicated processor to handle only these operations will be a good use of resources.

The problem with a dedicated processor for ai related operations is that there is no strict definition of what an ai operation is. AI can be implemented differently in different applications and because of this, there is no set of operations that is predominately used in every ai application. Therefore, a dedicated ai processing unit might increase performance in some ai applications, however, until there is some kind of standardization in the operations that ai applications use, these performance increases will be restricted to a very small number of applications.

Think of SSE2 aware processors. Only programs that are specifically designed for SSE2 operations will see an increase in performance from these processors.

While there might be a future use for a dedicated ai (or physics or something similar) processor, there first needs to be a standardized set of opertions that are used by the majority of ai applications.
 

Loki726

Senior member
Dec 27, 2003
228
0
0
I thought of something else after reading your post again. It sounds like you are suggesting that the reason graphics applications have increased so fast is because of improvements in graphics processors. I would argue that it is the other way around.

The only reason we have such complex and powerful graphics processors is because the amount of graphics operations done in applications requires them. We won't see a dedicated ai processor until the amount of STANDARDIZED ai operations done in applications requires one.
 

MetalStorm

Member
Dec 22, 2004
148
0
0
I don't think an AI processor is particularly necessary - the developers make the ai to interact with things and with more interactions that can put a lot of strain on a CPU, especially if there are a lot of bots being controlled by the CPU HOWEVER no one wants to play a game where the AI will kick their ass every time like a ninja on speed and that dumbness can be accomplished by the AI not considering every option - taking load off the CPU.

Also with the advent of dual cores I think that the AI can be threaded on to a different core to split the load more evenly.
 

phisrow

Golden Member
Sep 6, 2004
1,399
0
0
There have been systems designed for AI before; but these are big academic research rigs we are talking about here. If I remember correctly, Thinking Machines made some rather cool ones(e.g. CM-2 with 64,000 processors) 15 or 20 years ago. I rather doubt that we'll see a consumer version of such things anytime soon.
 

EightySix Four

Diamond Member
Jul 17, 2004
5,122
52
91
I think that an AI processor would basically be another CPU as it's not linear or easy to make into a single chip such as a PPU/GPU, it would just be too hard to make a chip that would accelerate it faster than a cpu.
 

Shalmanese

Platinum Member
Sep 29, 2000
2,157
0
0
AI code typically doesn't require very much integer of floating point math but usually has a ton of branches in it and requires lots of essentially random access to memory. If an AI chip were to be built, it would probably have to have a very short pipeline and very low latency access to main memory.
 

Velk

Senior member
Jul 29, 2004
734
0
0
Originally posted by: her34
one that would increase the a.i. compared to using cpu's as much as gpu's have increased graphics?

Yes, the classic example is deep blue. However the thing to keep in mind is that the increase in graphics due to video cards has been as much on the software side as the hardware side, and this would be even more true for AI code.

Creating a framework to overlay AI hardware, a sort of Direct3D for AI, would be an extremely difficult and thankless task, because not only do you need manufacturer buyin but you also need a big buyin from developers and that is the real sticking point.

See getting them to conform to a standard like opengl or direct3d is relatively easy because you can offer nicely packaged functionality - no matter what 3d application you are writing, the ability to easily draw a particular polygon on the screen is useful.

With AI though, you can't get nearly that specific. For example - almost every game uses some kind of pathfinding, but what kind of pathfinding is necessary varies drastically on the game itself - how can the thing finding the path move ? Can it jump over obstacles ? Is it slow to turn, does it need time to speedup or slowdown ? Does it have a limited time period in which it can move ? Does it matter if other things "see" it ? Does it have to avoid some things ?

If the functions are too specific, they are useless for other purposes, if they are too generic, they are too hard to work with and to accelerate.

On a purely hardware level, I'd imagine the amount of synchronisation that would be neccessary with the graphics hardware would be an ugly sticking point.
 

Gannon

Senior member
Jul 29, 2004
527
0
0
An AI chip could be made, but the question would be in current games in which Genre's are limited, would it make a difference? My answer would be : No.

The thing is, AI just isn't that complicated (nor does it need to be) in most modern computer games. Most AI decisions involve navigation, movement or shooting things. Also most AI problems are trivial for the AI since AI has "omniscient" wisdom and god like reflexes, which would make most games not that fun. Also AI is heavily dependent on the implementation of a game, so what may be good AI in one game is crap in another. AI is just not standardized at all, nor will it be for a long time since most AI is customized on a per application basis depending on what is needed.


Also implementing AI in some games is nightmarish (think Civilization level complexity), unless you have a really good grasp of how to optimally play the game itself.
 

MobiusPizza

Platinum Member
Apr 23, 2004
2,001
0
0
Originally posted by: MetalStorm
I don't think an AI processor is particularly necessary - the developers make the ai to interact with things and with more interactions that can put a lot of strain on a CPU, especially if there are a lot of bots being controlled by the CPU HOWEVER no one wants to play a game where the AI will kick their ass every time like a ninja on speed and that dumbness can be accomplished by the AI not considering every option - taking load off the CPU.

Also with the advent of dual cores I think that the AI can be threaded on to a different core to split the load more evenly.


Well more sophiscated AI calculation doesn't necessary mean the AI would be a god to play with that spoil the fun.

More processing power can make AI more realistic instead of more powerful. It depends how the programmer brings it together. AI can also be your teamate instead of enemies.
 

MobiusPizza

Platinum Member
Apr 23, 2004
2,001
0
0
Multiple cores CPU would be a better solution than a generic processor, base on what Velk mentioned.
AI are just parallel calculations. A multiple core CPU would do that just fine without much trouble.
 

imgod2u

Senior member
Sep 16, 2000
993
0
0
AI algorithms generally consist of searching. In fact, the most computationally intensive part is searching. These searches can occur through a tree-like structure or through a graph like structure which represent nodes in memory. Having a processor with a very low-latency memory subsystem would help drastically and caching doesn't really help since these searches are pretty random rather than uniform. The actual processing power required is usually negligible.