Processador de Inteligência Artificial - AIPU

ToTTenTranz

Power Member
http://www.aiseek.com/



aiseek disse:

What AI routines are accelerated by AIseek’s Intia processor?
AIseek’s Intia processor accelerates low-level AI tasks. The routines accelerated include movement (in particular, pathfinding and group movement); sensory simulation (in particular, line-of-sight) and terrain analysis.



How does acceleration of low-level AI tasks help the development of higher-level AI?
In general, sophisticated character-level or game-level decisions depend heavily on lower-level AI functions. For example, consider an NPC seeing a city at a distance, deciding to go to the city to sell an item, and then traveling to the city through the woods. The NPC’s sophisticated decision (“I want to sell this item”) depends on lower-level functions (perception, movement). A similar analysis would apply to the case of an NPC seeing an enemy, deciding to attack that enemy, and finally moving in the right direction to attack. By eliminating the CPU bottleneck associated with low-level AI, the Intia processor frees developers to create more intelligent characters and more believable game worlds.



How fast is AIseek’s Intia processor?
One of best benchmarks for the speed of the Intia processor is its performance on several low-level AI tasks. For pathfinding, the processing time for each 100 nodes of path depth is only 10µs, making the Intia processor about 100-200 times faster than a comparable software solution (specifically, the A* algorithm). For line-of-sight calculation, the Intia’s checks are several orders of magnitude faster than current software methods: 512 agents can be checked against 512 agents (“who sees whom”) in a mere 0.02s.




What games genres will benefit most from accelerated AI?
Obviously, AI-intense genres will benefit most from accelerated AI. These include RTS, RPG and Action/Shooters. Here are a few examples. With accelerated AI, RTS worlds can be large, complex and highly dynamic, with thousands of AI-controlled units moving and behaving intelligently at all times. In RPG games, cities and landscapes can come alive with thousands of fully-simulated characters. With full simulation, all characters remain alive and intelligent both on-screen and off-screen (i.e., no loss of AI level-of-detail), resulting in much more believable, life-like worlds. For Action games and Shooters, accelerated AI means no more dumb enemies. Computer-controlled combatants can now team-up cleverly to give even the most experienced player a worthy fight.





Portanto o objectivo final do AIPU é bastante (demasiado?) ambicioso: acabar com a maioria dos eventos scripted na programação dos jogos. Isto conduziria a um aumento de realismo nos jogos, assim como na re-jogabilidade.
Onde hoje temos scripts ,que dizem aos NPCs para seguir um determinado caminho, seja qual for a posição e condição do jogador, passaríamos a ter personagens que tomariam um rumo/acção consoante as condições do terreno, da posição do jogador, da arma que o jogador tem na mão, etc.



Nas FAQs eles dizem por exemplo:
"512 agents can be checked agains 512 agents in 0.02s"
Isto quer dizer que podemos ter por exemplo numa batalha 256 soldados de cada lado a agir, cada um deles, consoante 512 "condições" diferentes.
Estas condições podem ser qualquer coisa, sejam elas obstáculos que apareçam à frente e possam servir de protecção, posições dos soldados inimigos, condições climatéricas como por exemplo um nevoeiro que os impede de "ver bem" e os faz andar mais lentamente, etc.
E eles sugerem que o hardware deles pode fazer isso em tempo real, sem recorrer ao CPU.



Nas demos deles vi por exemplo um vídeo onde o (suposto) jogador controlava um tanque no meio de um labirinto. O tanque, ao disparar e ir contra as paredes, abria um caminho pelo meio dos labirintos. Depois vemos centenas de soldados a passar pelos caminhos feitos pelo tanque e a usar "cuidadosamente" os detritos do labirinto destruído como protecção antes de avançar.




É claro que ainda não há placas, nem alianças anunciadas a companhias de hardware ou software, portanto ainda é tudo muito ambíguo. Até eles apresentarem números de performance que nos provem que um cpu é incapaz de fazer o que eles dizem, ninguém vai querer gastar dinheiro numa coisa que é bonita apenas em papel.


Penso que, como em todas as novas "ideias", vai depender apenas de 3 factores, que são (por ordem de importância):
- Suporte no software
- Performance
- Preço

Se o hardware/software deles falhar em alguma destas coisas, provavelmente terá uma morte prematura ou um início atormentado. Pela reacção geral às placas de física, podemos ver que as pessoas não andam com muita vontade em gastar mais dinheiro em placas cuja utilidade é limitada.
 
Última edição:
se isto for bem implementado, mais facilmente comprava uma placa destas do que de fisica se tivessem ao mesmo preço (mas mesmo assim acredito que será muito overpriced como é a ageia)... Imagino-me num FPS onde os soldados atacam em grupo, sao imprevisiveis, têm iniciativa, esperam por backup, etc... Acabaram se os soldadinhos que percebem que estamos ca fora, mas mesmo assim ficam dentro da divisao parados a espera de uma nade?
 
Kursk_crash disse:
bem isto agora é processador ara Física e outro para AI ???

acho muito bem.. dar uso ao Quad-Core!!!
Se o hardware dedicado fosse "barato" e disponível para cada função, o CPU tornar-se-ia apenas um simples gestor de processos e memória, passando a ter um papel secundário nas tarefas, e tirando a necessidade de ser rápido e de ter mais do que um core (podendo tambem ser mais barato).

É tudo muito relativo..
 
Daqui a pouco quando for a comprar um PC, tenho que dar 400 cts só para placas. CPU, GPU, PPU, AIPU. Tudo na mm motehr board. Depois em 4 placas, iria sempre haver um bottlenec, era dificil não haver um.

No way. O melhor é fazerem as coisas na mm placa. PPU dentro de um GPU. E AIPU dentro do CPU. Só mm os entusiastas e ricos poderiam dars-e ao luxo de comprar 4 placas graficas só pra jogar.
 
Pensemos assim:

O que é que é mais fácil para um programador ?
Programar só para um chip, ou programar para 5 ou 6, cada um com a sua filosofia e objectivos específicos, API's, etc ?




A tendência do mercado é exactamente oposta:


- Unidades de FPU: integradas nas CPU's.

- Placas 3D: integradas nas 2D.

- Placas de som com aceleração por hardware: integradas nas CPU's através de codec's, quer nos PC's (e o Windows Vista vai dar ênfase a esse aspecto), quer nas consolas PS3 e X360, cujo som é processado por software sem hardware dedicado, por ser mais flexível e a carga do som ser negligenciável.

- Placas Ethernet, Firewire, Firewall, SATA RAID, começa tudo a ser integrado nos chipsets de motherboards.

- Controladores de memória: integrados nas CPU's (A64) ou nas Northbridges de motherboards (a X360 e Xbox original até os integram na própria placa gráfica).



Com cores dedicados nas CPU's, não faz sentido usar processadores externos para acelerar tarefas que não faz sentido ter fora do processador.
Isso foi demonstrado no tempo das placas de upgrade para Amiga e esse tipo de computadores antigos, e não resultou.

As placas gráficas seguiram o caminho oposto precisamente porque as CPU's eram fracas a converter sinais digitais em analógicos, e daí nasceram as gráficas 2D (mais tarde vieram as 3D) dedicadas.
Se as CPU's não fossem tão complexas por causa da arcaica arquitectura x86 de 1978, as GPU's poderiam nem ter existido, pois uma CPU seria capaz de acompanhar ciclos de desenvolvimento de 6 meses.
As GPU's possuem mais transistores do que as CPU's actualmente, mas o seu design é muito mais simplificado do que o de um moderno Core 2 ou Athlon 64 por exemplo, precisamente por causa desses constrangimentos.


Tudo isto não invalida que o núcleo RISC de cada um deles não comece já a ganhar novas features, e os cores dedicados no futuro certamente serão integrados nas CPUs Multi-Core, em vez de ter cores simétricos.
Mas não agora.
 
Última edição:
Ansatsu disse:
Daqui a pouco quando for a comprar um PC, tenho que dar 400 cts só para placas. CPU, GPU, PPU, AIPU. Tudo na mm motehr board. Depois em 4 placas, iria sempre haver um bottlenec, era dificil não haver um.

No way. O melhor é fazerem as coisas na mm placa. PPU dentro de um GPU. E AIPU dentro do CPU. Só mm os entusiastas e ricos poderiam dars-e ao luxo de comprar 4 placas graficas só pra jogar.
Estás a partir do pressuposto (errado) que várias placas com processadores dedicados vai ser forçosamente mais caro do que uma só unidade complexa e cara.. Além de que estás a ditar valores absurdos para placas que nem sequer existem..


Até os processadores estão a seguir o rumo exactamente oposto a esse. As empresas descobriram que era mais rentável e performante ter várias unidades a processar threads diferentes do que só um "colosso" a tratar de tudo. O futuro já não trata de velocidade bruta num só chip mas sim de paralelização de tarefas partilhadas por vários.




blastarr disse:
O que é que é mais fácil para um programador ?
Programar só para um chip, ou programar para 5 ou 6, cada um com a sua filosofia e objectivos específicos, API's, etc ?

Isso teria a sua lógica... se ainda estivéssemos nos anos 90 no tempo da SNES..

O facto de ter que programar apenas para um chip não quer dizer que vá usar as mesmas funções da API para a física e para o som.
O developer vai ter que usar código diferente para uma e outra coisa portanto se está a usar 8 chips diferentes ou apenas um é irrelevante, se a programação é feita a alto nível.

O que é mais fácil para um programador é ter uma API e respectivos kits de desenvolvimento que lhe permitam usar uma linguagem de alto nível ao mesmo tempo que mantém a performance. Para a AI esses SDKs nem sequer existem portanto se passarem a existir é uma mais valia (e é uma das coisas a que a aiseek se propõe a fazer).
 
para o programador, se calhar ate era irrelevante programar a AI para afzer uso de uma engenhoca destas.
o problema para o programador, é que epnas um nicho vai ter uma engehoca destas, e como tal se vai programar apenas para fazer uso dela, não vende software quase nenhum, se quer vender a toda a gente, vai ter que programar para computadores com e sem isto, e ter o dobro do trabalho, se quer vender à maioria, esta-se mais é a lixar para isto.

Onde hoje temos scripts ,que dizem aos NPCs para seguir um determinado caminho, seja qual for a posição e condição do jogador

hoje em dia ja se faz muito melhor que isso, e nem é preciso nenhum hardware XPTO.

eh pa, assim como alguém parece ter conseguido introdzir o conceito das PPU, estes gajos vieram ver se também lhes caia uma migalhita do mercado.
 
Koncaman disse:
para o programador, se calhar ate era irrelevante programar a AI para afzer uso de uma engenhoca destas.
o problema para o programador, é que epnas um nicho vai ter uma engehoca destas, e como tal se vai programar apenas para fazer uso dela, não vende software quase nenhum, se quer vender a toda a gente, vai ter que programar para computadores com e sem isto, e ter o dobro do trabalho, se quer vender à maioria, esta-se mais é a lixar para isto.


Ainda bem que os developers não pensaram assim quando saíram para o mercado doméstico as primeiras placas 3D.. :rolleyes:




Ou achas que toda a gente já tinha uma voodoo quando saíu o GLQuake?
 
ToTTenTranz disse:
Ainda bem que os developers não pensaram assim quando saíram para o mercado doméstico as primeiras placas 3D.. :rolleyes:




Ou achas que toda a gente já tinha uma voodoo quando saíu o GLQuake?

eu cheguei a jogar quake numa s3trio 64v+ com 1mb...
portanto, foi um caso em que programaram para as placas normais, e para placas aceleradoras.
mas não queiras comparar a diferença.
as placas aceleradoras entraram em força no mercado. assim como por ex as placas DX9 ha uns tempos atrás, ou algo deste tipo. além disso, não deixaram de ser placas graficas, e era uma evolução natural. logo fazia todo o sentido aproveitar essas potencialidades.

pr0p disse:
se leres o outro, percebes o porque da existencia deste.
 
Koncaman disse:
eu cheguei a jogar quake numa s3trio 64v+ com 1mb..
portanto, foi um caso em que programaram para as placas normais, e para placas aceleradoras.
mas não queiras comparar a diferença.
O que é que é diferente? Que a nível mundial se gasta umas 100 vezes mais dinheiro em hardware próprio para jogos do que nos tempos da 3Dfx? Que o dinheiro que envolve a indústria dos jogos subiu exponencialmente, colocando-se acima de Hollywood?

E como é que isso reverte contra a entrada de uma arquitectura nova?
Já te apercebeste por acaso que a PhysX saíu para o mercado praticamente sem suporte a nível de software e já milhares de pessoas compraram uma, just in case?




Koncaman disse:
as placas aceleradoras entraram em força no mercado. assim como por ex as placas DX9 ha uns tempos atrás, ou algo deste tipo.
Estás equivocado.. a aceleração 3D quando a primeiro voodoo entrou à venda era para um nicho de população ainda mais pequeno do que os possuidores de placas gráficas high end na actualidade..



Koncaman disse:
além disso, não deixaram de ser placas graficas, e era uma evolução natural. logo fazia todo o sentido aproveitar essas potencialidades.
Nop, não senhor.
Tanto a voodoo 1 como a powervr PCX-1 eram placas exclusivamente acelaradoras 3D. Para mostrar imagem no monitor continuavas a precisar de uma placa 2D. Eventualmente as placas 2D e 3D fundiram-se porque a componente 2D passou a ocupar uma porção insignificante do circuito integrado, face ao 3D.
 
A ideia n está nada má e até está bem pensava , mas penso que n terá grande relevancia no mercado pk n faz sentido tal plaka para mt gente.

Penso que a ideia principal e mais interessante seria , visto que os cpus dual core se estao a generalizar(apesar de ter umas pessoas que nem sabem que tem um dual core , enfim) , visto que a maioria dos jogos so usa um core , usar o outro para processar a AI ou outros processos que por ventura iriam usar mais o CPU.

Transfere

Curti mt os videos ker do helicoptero quer dos tankes.
 
Quando vejo novas tecnologias lembro-me sempre das palavras de um professor que tive numa cadeira de programação...

Para um produto ter sucesso tem de contemplar a regra dos 3 B's: BBB
Bonito, Bom e Barato
Vejo que estas placas são "bonitas", no sentido de permitirem um conceito muito mais interessante de IA nos jogos... e acabar de vez com os scripts de NPC's.... (uma das razões que só joguei Half-Life 2 apenas uma vez....por exemplo...)

São "boas" porque grande parte ou todo o esforço e trabalho de processamento ao gerenciar a IA em tempo real vão para as placas...libertando os outros componentes da máquina para outras funções...

Agora...para estar de acordo com a regra BBB, teria de ser barato....e aí...é que podem deitar tudo a perder... ou tudo a ganhar ;)
 
Um professor de programação a dizer uma coisa dessas? Humm, não devia estar ao corrente do que se cobra por alguns programas. :D

Ontopic,
Não acredito no sucesso destas placas. Está bem que vêem retirar trabalho ao cpu, mas não sei até que ponto serão úteis. Enfim, isto precisava de uma killer app que puxasse por isto à brava para podermos tirar algumas ilações.

No entanto sempre me parece mais útil do que a placa de rede xpto para gamers que está numa outra thread.
 
Gostava era que eles explicassem que algoritmo maravilhástico é esse que eles usam que dizem ser sempre óptimo. Se tivermos em conta as limitações espaciais que estes algoritmos de procura normalmente tem, não estou mesmo a ver... É pena não explicarem.
 
ToTTenTranz disse:
O que é que é diferente? Que a nível mundial se gasta umas 100 vezes mais dinheiro em hardware próprio para jogos do que nos tempos da 3Dfx? Que o dinheiro que envolve a indústria dos jogos subiu exponencialmente, colocando-se acima de Hollywood?

E como é que isso reverte contra a entrada de uma arquitectura nova?
Já te apercebeste por acaso que a PhysX saíu para o mercado praticamente sem suporte a nível de software e já milhares de pessoas compraram uma, just in case?

diz-me so, achas mesmo que as PPU (enquanto placas independentes) têm alguma hipotese de se tornar um standart nos PC's?
eventualmente um standart nos jogos? coisa que nem as placas de som conseguiram ate hoje.

ToTTenTranz disse:
Nop, não senhor.
Tanto a voodoo 1 como a powervr PCX-1 eram placas exclusivamente acelaradoras 3D. Para mostrar imagem no monitor continuavas a precisar de uma placa 2D. Eventualmente as placas 2D e 3D fundiram-se porque a componente 2D passou a ocupar uma porção insignificante do circuito integrado, face ao 3D.

sim, mas também te lembras como é que a voodoo trabalhava... o cabozinho VGA, para ligar depois da placa grafica... era praticamente um "patch" para a placa grafica.
por um lado ate foi bem jogado naquela altura.
mas não deixavam de fazer parte do susbsitema grafico.
tanto foi assim, que tudo se juntou pouco tempo mais tarde.
 
Provavelmente vai acontecer a estas placas o mesmo que aconteceu às placas de som e às primeiras 3D: irão acabar por ser integradas em gráficas. (no caso das de som foram integradas na mobo).

Se imaginar-mos que temos cpu's multicore e cada vez com mais cores, mais cedo ou mais tarde isto irá passar para as gráficas e um dos cores pode ficar com estes 'trabalhos'.
 
Back
Topo