--------------------------------------------------------------------------
y  \tg   zHSPCL.dll
y o[W  z1.10
y         zpippi
y  KvP zWindowsXPȍ~
y  KvQ zHSP Ver3.0ȍ~
y  KvR zopenCLΉOtBbN{[h܂CPU܂CellvZbT[
			GeForce 200 Seriesȍ~				iGeForce 200 Series  GeForce 300 Series GeForce 400 Series GeForce 500 Series GeForce 600 Series GeForce GTX Titanj
			R700  (HD 4xxx)ȍ~				iR700  (HD 4xxx) Evergreen  (HD 5xxx) Northern Islands  (HD 6xxx) Southern Islands  (HD 7xxx)j
			HD Graphics 2500/4000ȍ~			iIntel HD Graphics 2500/4000j
y  戵   zt[vOC
y    e     zHSP3pGPGPUvOC
y     HP      zhttp://blog.livedoor.jp/toropippi/
--------------------------------------------------------------------------

Tv

CXg[

gp@

ߒ`
#cmd hspcllllllllllllllnewcmd1	$000
#cmd hspcllllllllllllllnewcmd2	$001
#cmd CLbye		      	$002
#cmd clBuildProgram 		$003
#cmd clCreateKernel		$004
#cmd clSetKernel		$005
#cmd clCreateBuffer		$006
#cmd clWriteBuffer		$007
#cmd clReadBuffer		$008
#cmd clCopyBuffer		$009
#cmd clDoKernel			$00A
#cmd clReleaseKernel		$00B
#cmd clReleaseProgram		$00C
#cmd clReleaseMemObject		$00D
#cmd fdim			$00E


ߐ
[CLini]
hspcl.asCN[hƍŏɎsĉB
ϐcldevcountopenCLs\foCX܂B
ȍ~foCXid  0`(cldevcount-1)  ܂Ŏwo܂B


[CLbye]
CLinisĂꍇŌɂȂ炸ŃJĂ


[clGetDevInfo(int p1)]
int p1	foCXid [in]
p1Ŏw肳ꂽfoCXid̏𕶎ŕԂ܂


[clBuildProgram int p1,str p2,int p3]
openCL̃vOrh܂B
int p1 : vZɎgfoCXid [in]
str p2 : J[l.cl\[X  [in]
int p3 : vOid[OUT]
p1CLiniœꂽcldevcount̐̒lĉ
p2ɂ̓\[X̃t@Cĉ
p3̓RpCꂽvOid܂


[clCreateKernel int p1,str p2,int p3]
J[lƂAopenCL̊֐sPPʂo^܂B
int p1 : vOid          [in]
str p2 : J[l֐        [in]
int p3 : J[lid[OUT]
p2̓J[l\[Xɂu__kernel vn܂֐u__kernel v̕Ŏw肵܂B
p3ɂ̓J[lid܂B
opencl\[X̊֐́ÃJ[lƂ`ŃvOŎgpAsł܂B


[clSetKernel int p1,int p2,p3,int p4]
int p1 : J[lid			[in]
int p2 : Zbgʒu		[in]
    p3 : ɓn(萔z)	[in]
int p4 : [JtO		[in]
J[l̈Ƀf[^n܂B
p3ɂ͕ϐAint^ϐAAfloat^ϐAdouble^ϐȂǂwłA܂mem_object idw\łBp41̂ƂAɂ͊mۂ[JTCY(byte)intŎw肵ĉ
p41ɂƁÄ̓[JiLjƂēo^܂B[J̓O[oeʂȂɃANZX\ȏǎ\̂ƂŁA
̃J[lŒlێÃXbhƏLƂɎg܂B


[clCreateBuffer int p1,int p2,int p3]
int p1 : foCXid			[in]
int p2 : mem_object id	[OUT]
int p3 : mۂbyte			[in]
OtBbN{[hȂǂ̃foCXɃmۂ܂BGDDR5Ȃǂ̃̂O{ɁAw肵TCỸmۂ邱ƂɂȂ܂B


[clWriteBuffer int p1,int p2,array p3,int p4,int p5,int p6,int p7]
int p1 : foCXid			[in]
int p2 : Rs[mem_object id		[in]
array p3:Rs[zϐ		[in]
int p4 : Rs[TCYbyte		[in]
int p5 : Rs[̃ItZbg		[in]
int p6 : Rs[̃ItZbg		[in]
int p7 : ubLO[hoff		[in]
zXg(CPU)foCX(GPU)Ƀf[^]܂B
p7̃ubLO[h1w肷offɂȂA]ȂɎ̖߂Ɉڂ܂B


[clReadBuffer int p1,int p2,array p3,int p4,int p5,int p6,int p7]
int p1 : foCXid			[in]
int p2 : Rs[mem_object id		[in]
array p3:Rs[zϐ		[OUT]
int p4 : Rs[TCYbyte		[in]
int p5 : Rs[̃ItZbg		[in]
int p6 : Rs[̃ItZbg		[in]
int p7 : ubLO[hoff		[in]
foCX(GPU)zXg(CPU)Ƀf[^]܂B
p7̃ubLO[h1w肷offɂȂA]ȂɎ̖߂Ɉڂ܂B


[clCopyBuffer int p1,int p2,int p3,int p4,int p5,int p6]
int p1 : foCXid			[in]
int p2 : Rs[mem_object id		[in]
int p3 : Rs[mem_object id		[in]
int p4 : Rs[TCYbyte		[in]
int p5 : Rs[̃ItZbg		[in]
int p6 : Rs[̃ItZbg		[in]
foCX̃ԂŃRs[܂B


[clDoKernel int p1,int p2,int p3,int p4,int p5,int p6,int p7]
int p1 : foCXid			[in]
int p2 : J[lid			[in]
int p3 : work_dim(1`3)			[in]
int p4 : global_work_size		[in]
int p5 : local_work_size1		[in]
int p6 : local_work_size2		[in]
int p7 : local_work_size3		[in]
J[ls܂Bi܂J[lɑΉopencl\[X̊֐s܂Bj
p1͎sfoCXŁAvÕRpC̃foCXōsȂĂKv܂B
p3local_work_size̎ݒ肵܂B1`3w肵܂B
p4ɂ́As鐔w肵܂Bsɂ̐̕O[oACe܂B
p5`p7ɂglobal_work_size𕪊鐔w肵܂B


[clReleaseKernel int p1]
int p1 : J[lid			[in]
o^J[lj܂B


[clReleaseProgram int p1]
int p1 : vOid			[in]
o^RpCς݃vOj܂B


[clReleaseMemObject int p1]
int p1 : mem_object id			[in]
foCX̃܂B


[fdim p1,int p2]
p1     : ϐ			[in]
int p2 : z			[in]
p1floatzϐɂ܂


tH[}bg

G[R[h

zzꏊ
http://blog.livedoor.jp/toropippi/
A
http://blog.livedoor.jp/toropippi/̃bZ[WMy[W
Ɛ

쌠
쌠́ApippiۗL܂B

XV
    Ver 1.0
	2013/5/9
	ReLXg̍쐬
    Ver 1.10
	2013/5/14
	vOrhAJ[lA̎