25 Nov
2013
25 Nov
'13
8:38 a.m.
Hi Edward,
try Max Heimel, http://www.dima.tu-berlin.de/menue/staff/max_heimel/
Best,
Hannes
On 11/25/2013 09:22 AM, Edward Ching wrote:
Hi Hannes,
Thanks for the reply. Would you happen to know if there is a email list for Ocelot developer? I couldn't find any and someone thought it would be covered by the Monetdb list which was why I sent it here. I apologize for the inconvenience.
Thanks, /Ed
On Mon, Nov 25, 2013 at 12:03 AM, Hannes Mühleisen <Hannes.Muehleisen@cwi.nl mailto:Hannes.Muehleisen@cwi.nl> wrote:
Hi Edward, from the MAL sequence you show, it seems like your issue stems from the CL-related part. I would suggest to direct your questions to the Ocelot developer. Best, Hannes On 11/25/2013 04:16 AM, Edward Ching wrote: I'm running into a problme with Ocelot, the MonetDB with OpenCL extension. I apologize if this is not the right forum to post. I'm seeing a query failure which was caused by MoneDB-OpenCL trying to cache an empty BAT and ended up calling clCreateBuffer with a 0 size buffer and failed. Any select with a where clause would trigger it. Has anyone seen this too? It fails whether I use 32 bit or 64 bit oid, Nvidia or AMD. I'm trying to figure if it's a real issue or if I'm missing anything. Any input greatly appreciated. The database was generated by TPC-H dbgen (details below). The query I used was "select c_custkey, c_name from customer where c_custkey < 2", and here's a trace of the sequence of calls leading to the failure starting from the MAL statement: 1) X_52 := ocelot.thetasubselect(r1_10,__A0,"<",0);(see log below) 2) ocl_select.c::ocl_subselect() line 142: ocl_cacheBAT 3) ocl_memmanager.c::ocl___cacheBAT() line 771: allocateBuffer 4) ocl_memmanager.c::__allocateBuffer() line 432: clCreateBuffer ===== Source version and environment ===== 1) Ocelot src installed from zip downloaded from monetdb-opencl: msaecker-monetdb-opencl-__b513b35eb84a.zip 2) Ocelot configure options: ./configure --prefix=/usr/local --enable-oid32 --enable-optimize --disable-test ing --disable-developer --disable-debug --disable-assert --enable-sql --enable-m onetdb5 --with-opencl=/usr 3) Operating System: Fedora 17 kernel 3.9.10-100 4) Hardware: NVIDIA GTX570 on Intel i7-3820 w/ 16GB mem 5) OpenCL: Nvidia OpenCL that came with CUDA 5.5 SDK 6) Database: generated w/ TPC-H dbgen using size factor s=0.01 ===== operation log follows ===== [root@gen3-2 ocelot]# mclient -ddb001 -lmal mal>ocelot.init(); mal>ocelot.listDevices(); # Device 0: NVIDIA Corporation - GeForce GTX 570 (default device) mal>\q [root@gen3-2 ocelot]# mclient -ddb001 -lsql sql>\d TABLE sys.customer TABLE sys.lineitem TABLE sys.nation TABLE sys.orders TABLE sys.part TABLE sys.partsupp TABLE sys.region TABLE sys.supplier sql>\d customer CREATE TABLE "sys"."customer" ( "c_custkey" INTEGER NOT NULL, "c_name" VARCHAR(25) NOT NULL, "c_address" VARCHAR(40) NOT NULL, "c_nationkey" INTEGER NOT NULL, "c_phone" VARCHAR(15) NOT NULL, "c_acctbal" DECIMAL(15,2) NOT NULL, "c_mktsegment" VARCHAR(10) NOT NULL, "c_comment" VARCHAR(117) NOT NULL, CONSTRAINT "customer_c_custkey_pkey" PRIMARY KEY ("c_custkey"), CONSTRAINT "customer_c_nationkey_fkey" FOREIGN KEY ("c_nationkey") REFERENCES "sys"."nation" ("n_nationkey") ); sql>select count(*) from customer; +------+ | L1 | +======+ | 1500 | +------+ 1 tuple (1.311ms) sql>select c_custkey, c_name from customer where c_custkey < 2; +-----------+-----------------__---+ | c_custkey | c_name | +===========+=================__===+ | 1 | Customer#000000001 | +-----------+-----------------__---+ 1 tuple (1.776ms) sql>set optimizer='cl_pipe'; operation successful (0.981ms) sql>select c_custkey, c_name from customer where c_custkey < 2; invalid/unknown response from server, ignoring output ? #Could not allocate OpenCL buffer of size: 0. Error caching input BAT. sql> sql>explain select c_custkey, c_name from customer where c_custkey < 2; +-----------------------------__------------------------------__-------------------+ | mal +=============================__==============================__===================+ | function user.s9_1{autoCommit=true}(A0:__int):void; | | ocelot.beginQuery(); | | X_3 := sql.mvc(); | | X_7 := sql.bind(X_3,"sys","customer",__"c_custkey",0); | | X_4:bat[:oid,:oid] := sql.tid(X_3,"sys","customer"); | | X_51 := ocelot.thetasubselect(X_7,X_4,__A0,"<",0); | | (X_10,r1_10) := sql.bind(X_3,"sys","customer",__"c_custkey",2); | | X_52 := ocelot.thetasubselect(r1_10,__A0,"<",0); | | X_13 := sql.bind(X_3,"sys","customer",__"c_custkey",1); | | X_53 := ocelot.thetasubselect(X_13,X___4,A0,"<",0); | | ocelot.sync(X_51); | | ocelot.sync(X_52); | | ocelot.sync(X_53); | | X_15 := sql.subdelta(X_51,X_4,X_10,X___52,X_53); | | X_17 := sql.projectdelta(X_15,X_7,X___10,r1_10,X_13); | | X_18 := sql.bind(X_3,"sys","customer",__"c_name",0); | | (X_20,r1_23) := sql.bind(X_3,"sys","customer",__"c_name",2); | | X_22 := sql.bind(X_3,"sys","customer",__"c_name",1); | | X_23 := sql.projectdelta(X_15,X_18,X___20,r1_23,X_22); | | X_24 := sql.resultSet(2,1,X_17); | | sql.rsColumn(X_24,"sys.__customer","c_custkey","int",__32,0,X_17); | | sql.rsColumn(X_24,"sys.__customer","c_name","varchar",__25,0,X_23); | | X_32 := io.stdout(); | | sql.exportResult(X_32,X_24); | | ocelot.endQuery(); | | end s9_1; | | # querylog.define("explain select c_custkey, c_name from customer where c_cu | : stkey < 2;","cl_pipe") : +-----------------------------__------------------------------__-------------------+ 27 tuples (1.408ms) sql> ==============================__========= _________________________________________________ users-list mailing list users-list@monetdb.org <mailto:users-list@monetdb.org> https://www.monetdb.org/__mailman/listinfo/users-list <https://www.monetdb.org/mailman/listinfo/users-list> _______________________________________________ users-list mailing list users-list@monetdb.org <mailto:users-list@monetdb.org> https://www.monetdb.org/mailman/listinfo/users-list
users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list