On Github lyonjs / lyonjs-17
Created by Fabien Cellier
WebCL(security+firefox),modélisation 3d,SIG...
Il y a deux types de besoins: la base latence qui repose sur du code efficace principalement et le traitement de big data qui repose sur le partitionnement
PAS BESOIN de PERFORMANCE PARTOUT!!! (IHM)
L'optimisation reste complexe (scheduling, "cache miss"...) et parfois peu portable (CUDA/OpenCL utilise souvent un code pour CPU et un autre pour GPU etc...)
mais toujours comparer de facon honnete: CPU intel xeon octo-core c'est 256 unités de calcul si on comptabilise les unités pour la vectorisation donc comparable à un GPU milieu de gamme
Le parallélisme est souvent le chemin le plus simple pour augmenter les performances
Une simulation sur 2 millions de particules (32 itérations), utilise intensivement des arbres et tableaux
intel core i5 3320M et intel hd graphic 3k
SIMD pour js?
result = pa.mapPar(function(val){return val;});
Celui qui me fache
Pour:
Contre:
Quand Opera s'y met...
void add (Float32Array dst, Float32Array x, double y);
Pour:
Contre:
A regarder surtout avec la Geometry API qui arrive
Le non choix...
Pour:
Contre:
Personnellement, je préfère l'idée de prendre un typeScript
function DiagModule(stdlib,foreign,heap) { "use asm"; var sqrt = stdlib.Math.sqrt; function square(x) { x = +x; return +(x*x); } function diag(x, y) { x = +x; y = +y; return +sqrt(square(x) + square(y)); } return { diag: diag }; }
Le moche qui marche...
Pour:
Contre:
Dans la pratique c'est relativement proche de l'idée de pNaCl mais avec du javascript en bytecode
OpenCL for the Web
Avis personnel: je regrette que l'API soit si proche d'OpenCL et le choix de Google de faire renderscript plutot que de participer et influencer WebCL