IRC logs of #shogun for Friday, 2014-05-09

--- Log opened Fri May 09 00:00:40 2014
-!- pickle27 [~pickle27@192-0-136-118.cpe.teksavvy.com] has joined #shogun00:08
-!- pickle27 [~pickle27@192-0-136-118.cpe.teksavvy.com] has quit [Client Quit]00:10
-!- khalednasr [~k.nasr92@41.69.183.238] has quit [Quit: Leaving]00:38
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has quit [Quit: PirosB3]01:49
-!- HeikoS [~heiko@0541877d.skybroadband.com] has joined #shogun01:51
-!- mode/#shogun [+o HeikoS] by ChanServ01:51
-!- HeikoS [~heiko@0541877d.skybroadband.com] has quit [Quit: Leaving.]02:21
-!- pickle27 [~pickle27@192.0.136.118] has joined #shogun02:45
shogun-buildbotbuild #1 of nightly_fedora is complete: Failure [failed git]  Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_fedora/builds/1  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Wu Lin <yorker.lin@gmail.com>, khalednasr <k.nasr92@gmail.com>, Viktor Gal <viktor.gal@maeth.com>03:00
-!- soumyaC [uid15286@gateway/web/irccloud.com/x-cillcushvctzxqji] has quit [Quit: Connection closed for inactivity]03:36
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has joined #shogun04:15
-!- pickle27 [~pickle27@192.0.136.118] has quit [Quit: Leaving]04:48
-!- thoralf [~thoralf@91-66-177-150-dynip.superkabel.de] has joined #shogun10:17
thoralfHey GUIs10:17
thoralf(and CLIs)10:17
-!- pickle27f [~pickle27@216.191.231.218] has quit [Quit: This computer has gone to sleep]10:49
-!- soumyaC [uid15286@gateway/web/irccloud.com/x-hccjlqffpfaqjoji] has joined #shogun10:56
-!- HeikoS [~heiko@0541877d.skybroadband.com] has joined #shogun11:58
-!- mode/#shogun [+o HeikoS] by ChanServ11:58
lambdayHeikoS: hey!12:07
lambdayHeikoS: check this out! https://github.com/lambday/shogun-linalg/blob/master/src/test.cpp#L3112:07
lambdayHeikoS: it can take SGVector, eigen3 vectors viennacl vectors12:08
lambdayall we gotta do is to call linalg::dot(a,b)12:08
lambday:d12:08
lambdayand just reran the benckmark - mean 0.000004770994186, var 0.00000000000053312:09
lambdaycrazy fast!12:09
lambday1,000,000 sized vectors, mean over 1000 iterations12:09
-!- thoralf [~thoralf@91-66-177-150-dynip.superkabel.de] has quit [Quit: Konversation terminated!]12:41
@HeikoSlambday: benchmark comparing against what?12:42
lambdayHeikoS: the runtime alternative implementation that I had12:43
@HeikoSwhat were the results there again?12:43
lambdaythe one I just pasted is for the new design we have12:43
@HeikoSlambday: sorry for being confused, just read about kernels ;)12:43
lambdayhaha :D12:44
@HeikoShow much is the difference?12:44
lambdayHeikoS: pretty huge actually!12:44
@HeikoStwo orders of magnitude?12:44
lambdayHeikoS: could you please try to run on your machine?12:44
@HeikoSthat seems weird, doesnt it?12:44
lambdaymore than that!12:44
lambdaykind of...12:44
-!- thoralf [~thoralf@91-66-177-150-dynip.superkabel.de] has joined #shogun12:44
lambdayHeikoS: could you please run this? https://github.com/lambday/shogun-linalg12:45
lambday(I pushed some changes recently - so please pull)12:45
@HeikoSlambday: just started12:45
* lambday nailbiting12:46
@HeikoSbtw the compile command in the readme doesnt work, I have to put -l shogun to the end12:46
@HeikoSheiko@heiko-ThinkPad-T440s:~/git/shogun-linalg$ ./test12:46
@HeikoSmean 0.000005961656570, var 0.00000000000504712:46
@HeikoSmean 0.000011920928955, var 0.00000000000000012:46
@HeikoSis that the right compile command?12:46
@HeikoSg++ -O3 -std=c++0x -I./src/ -I/usr/include/eigen3 -lshogun -o test src/test.cpp -l shogun12:46
lambdaythere will be 3 results12:46
lambdayyes12:47
@HeikoSlambday:  ah yeah, sorry12:47
@HeikoSheiko@heiko-ThinkPad-T440s:~/git/shogun-linalg$ ./test12:47
@HeikoSmean 0.000005961656570, var 0.00000000000504712:47
@HeikoSmean 0.000011920928955, var 0.00000000000000012:47
@HeikoSmean 0.000005771160126, var 0.00000000000375812:47
@HeikoSso whats what there?12:47
lambdayyeah!! see! same result12:47
lambdaythe first one is globally set backend (eigen3)12:47
lambdayfor dot12:47
lambday2nd one is for globally set backend (eigen3) for sum12:47
lambday3rd one is explicitly set backend eigen3 for dot12:47
@HeikoSI see12:48
@HeikoScool12:48
lambdayand now run this one (the earlier implementation that we had)12:48
lambday(runtime one)12:48
@HeikoSI remember like only two zeros for the runtime one?12:48
@HeikoSok12:48
@HeikoSwhat to add?12:48
lambdaythat's not in this code :D12:48
lambdayjust a sec12:48
@HeikoSah I see12:48
lambdayHeikoS: https://gist.github.com/lambday/5d936749a1aa26e50beb12:49
lambdaydot_factory_benckmark.cpp12:49
lambdaycompile it with g++ -std=c++0x -I/usr/include/eigen3 -lshogun dot_factory_benchmark.cpp12:49
@HeikoSlambday: compiling ...12:49
lambdaythere would be a warning but ignore that :D12:49
lambdaygonna take a while!12:50
@HeikoSyeah saw it12:51
lambdayhow much?12:52
@HeikoSrunning :)12:52
@HeikoSseems to run on two cpu?12:52
lambday(sorry about the mistake in readme.. changing)12:52
@HeikoSlambday: no worries12:52
lambdaytwo?12:52
@HeikoS50% of 4 cpu12:52
@HeikoSmaybe its another process12:52
@HeikoSthough doesnt look like12:52
lambdayphew!12:53
@HeikoSlambday: how log does it run?12:53
lambdayerr... 3-4 mins12:53
@HeikoSaaah12:53
lambday(so you can imagine that the other one is indeed better)12:53
@HeikoSI compile shogun in the back12:53
lambday:D12:53
@HeikoSthat takes lots of cpu12:53
@HeikoSrestarting12:53
lambdayohhh12:53
@HeikoShaha12:53
@HeikoS0.06 was the mean :)12:53
lambday0.0612:54
@HeikoSlambday: but these new hashwell cpus are really bad when multiple things are running12:54
@HeikoSmy old thinkpad was way faster12:54
lambday430?12:54
@HeikoSt440s12:54
lambdayI am using 43012:54
@HeikoSyeah12:54
@HeikoSthat has the old core 2 ones12:54
@HeikoSthe 440s is way slower12:54
@HeikoS(though runs for 7 hrs :) )12:54
lambdaywith wifi on??12:54
lambday:-o12:54
@HeikoSyes12:54
lambdaywhoa!12:55
@HeikoSnot with cpu intense stuff of course and not full screen brightness, but to work its fine12:55
@HeikoSlambday: what do you got for the runtime example?12:55
@HeikoSlambday: man12:55
@HeikoSheiko@heiko-ThinkPad-T440s:~/git/shogun-linalg$ ./a.out12:55
@HeikoSmean 0.063714141607285, var 0.00001700142768912:55
lambdayugly as shit!12:55
lambday:D12:55
@HeikoScomparing to12:55
@HeikoSmean 0.000005961656570, var 0.00000000000504712:55
@HeikoSis that the same operation on the same or comparable data?12:55
lambdayI wonder what the hell is going on there!!12:55
lambdayjust check the main function for a bit!12:56
@HeikoSyeah did, looks the same right?12:56
lambdayexactly same unless I missed some obvious thing12:56
lambdayyeah!!!!12:56
lambday:-/12:56
@HeikoSlambday: man!12:56
@HeikoSso the only difference here are these v calls12:56
lambdayshould be!12:56
@HeikoSlambday: that 1000012:57
@HeikoSfactor12:57
@HeikoS*crazy*12:57
lambdayI thought with modern arch it doesn't matter much12:57
lambdayohhh sorry sorry12:57
lambdayyou didn't compile the last one with -O312:57
@HeikoSah12:57
lambdayah crap!12:57
* lambday nailbiting again!12:57
@HeikoSlambday: phew12:57
@HeikoSthats actually good12:58
@HeikoSotherwise I would have been confused12:58
lambdaynow we'll see the actual difference12:58
@HeikoSlambday:  ok12:58
@HeikoSheiko@heiko-ThinkPad-T440s:~/git/shogun-linalg$ ./a.out12:58
@HeikoSmean 0.001409775972366, var 0.00000001452159512:58
@HeikoSso thats about 10 times faster12:58
lambday10 times??12:59
lambdayno12:59
@HeikoSbut the difference is still 1000 right?12:59
lambdayohh yeah12:59
@HeikoSto the compile time version12:59
@HeikoSmmmh12:59
lambdayyeah12:59
@HeikoSlambday: I am still suspicious12:59
@HeikoSI mean how can that be?12:59
lambdayHeikoS: umm when I ran it earlier it was something around v12:59
@HeikoSthis means that one v-call costs as much as 1000 dot product operations12:59
lambdaymean 0.000607864618301, var 0.00000000413558712:59
@HeikoSso whats the difference on your system?13:00
@HeikoSI mean anything from factor 10 makes sense to take the compile time pain (which is not that much) for13:00
-!- lambday_ [67157f4f@gateway/web/freenode/ip.103.21.127.79] has joined #shogun13:01
lambday_HeikoS: sorry got dc13:01
lambday_HeikoS: on my machine its still 500x13:01
lambday_how come this new code is ultra fast?13:01
@HeikoSlambday_ weird13:01
lambday_I mean, as long as I was using dot<float, SGVector<float>>(a, b)13:01
lambday_it was like 10 times faster13:02
@HeikoSwhat did you change?13:02
lambday_but just now I added this dot(a,b)13:02
lambday_wait let me show13:02
lambday_its kinda creepy13:02
lambday_HeikoS: https://github.com/lambday/shogun-linalg/blob/master/src/linalg/modules/redux.h#L1813:02
lambday_so it infers about t13:02
lambday_T13:02
lambday_and works with SGVector and Eigen3 vector both13:03
lambday_so say I have VectorXd a, b;13:03
lambday_I can use linalg::dot(a,b)13:03
lambday_(although I haven't pushed that code to the repo but locally tested)13:03
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has quit [Ping timeout: 240 seconds]13:03
lambday_it inters about T in the runtime13:03
lambday_oops13:03
lambday_compile time!!13:03
-!- lambday_ is now known as lambday13:04
lambdayinfers*13:04
@HeikoSlambday_ ehm what? could you repeat, I got confused :)13:04
lambdayHeikoS: so I mean13:05
lambdaylinalg::dot(..) can work both with SGVectors as params and even Eigen3 vectors as params13:05
lambdayso in shogun we'll be all over just be using linalg::dot13:05
lambdayeven with direct eigen3 vectors it would work13:06
lambdayand so with viennacl vectors13:06
lambdayso I don't need to know about how those backend dot calls look like - I'll just be using linalg::dot13:06
lambdaytalked with lisitsyn on this yesterday for a while13:07
-!- soumyaC [uid15286@gateway/web/irccloud.com/x-hccjlqffpfaqjoji] has quit [Quit: Connection closed for inactivity]13:16
@HeikoSlambday: okay!13:18
@HeikoSlambday: thats amazing in fact13:18
@HeikoSvery clean13:18
lambdayHeikoS: yeah - so basically we drop the template arg requirement while calling these methods13:18
@HeikoSlambday: so given the discussions with the others, what about pushing this into Shogun now? :)13:18
lambdayyeah and super easy to use13:18
@HeikoSlambday: does the compile time blow up this way?13:18
lambdayHeikoS: I think I can - although wiking didn't seem very convinced13:19
lambdayI personally find no issues with this - except a bit tricky code but super simple API13:19
lambdayHeikoS: it will - but not exponentially13:20
@HeikoSlambday: well the tricky code is inside shogun13:20
lambdayyeah13:20
@HeikoSlambday: ok13:20
lambdayso I'll start sending patches then?13:20
@HeikoSlambday: with wiking, did you discuss with him?13:20
lambdayHeikoS: no I tagged him on a few posts but may be he's busy13:21
@HeikoSlambday: we should totally listen to his concerns, but I am not completely sure currently what they are13:21
@HeikoSlambday: did you talk about this?13:21
lambdayHeikoS: as far as I understood - he was worried about compiled versions of shogun - say shogun-linalg-eigen3, shogun-linalg-viennacl13:22
lambdaybut we have that for eigen3 already13:22
lambdayand those who wants to play the code should run cmake on their own13:22
@HeikoSlambday: ah yes13:22
lambdaynot download from repo13:22
@HeikoSlambday: so this is really an issue13:22
@HeikoSshogun-binary13:22
lambdaydebian/rhel repo I mean13:22
@HeikoSwhich backend do we choose?13:22
lambdayso can't we just port eigen3 version for packaging like we do13:23
@HeikoSlambday: yeah currently we also have that13:23
@HeikoSlambday: so in fact if we just say global backend is eigen3, nothing changes13:23
lambdayyeah13:23
@HeikoSlambday: though the combinations are quite a few13:23
lambdayHeikoS: with added flexibility - if you take the pain to build yourself :D13:23
@HeikoSlambday: but we dont want to do that, have mybrid shogun binaries13:23
@HeikoSlambday: what about builds?13:24
@HeikoSlambday: we need to make sure that all work13:24
@HeikoSlambday: so travis would go for shogun::eigen13:24
@HeikoSand the buildbot could maybe do a GPU version13:24
@HeikoSlambday: but the gpu stuff is not there yet13:24
lambdayyeah buildbot should check all13:24
@HeikoSlambday: buildbot has no GPU ;)13:24
lambdayhaha but opencl code works with cpu as well13:25
lambdayso it can check whether it builds right13:25
@HeikoSlambday: so the way I see this is that we make eigen3 the default and that replaces all existing binaries13:25
@HeikoSand then we can add one more if we have say vienna cl13:25
@HeikoSlambday: ah I see13:25
@HeikoSwiking: ^13:25
lambdayHeikoS: yeah that sounds good13:25
@HeikoSso I think it doesnt blow up things too much13:25
@HeikoSlambday, wiking we have more possibilities, but these did not even exist yet, so no need to put all of them in binaries,13:25
@HeikoSand the main use case is easy, maybe one more13:26
@HeikoSlambday: so I would say, go for the patches - yorkerlin will be thankful too13:26
lambdayHeikoS: may be a feature branch13:26
lambdayor develop?13:27
@HeikoSlambday: and feel free to open an issue on github where you ask people to replace c++-loop dot products (or even eigen ones) with the new calls (entrance task). and put a (growing) list of supported operations13:27
@HeikoSlambday: feature branch13:27
@HeikoSlambday: for now13:27
lambdayHeikoS: okay13:27
@HeikoSlambday: then change a few things to use that ( I will help)13:27
lambdayHeikoS: alright :)13:27
@HeikoSlambday: and once say dot, sum, cholesky, SVD, eig is in, we can merge it13:27
@HeikoS(with one used example each, passing unit tests, etc)13:28
lambdayHeikoS: yeah that sounds better13:28
lambdayHeikoS: so I mean how to I send PRs to other branches in upstream?13:28
lambdayHeikoS: or I have to directly have to push to some upstream?13:29
lambdaygit push upstream feature_linalg13:29
@HeikoSlambday: ehm13:30
@HeikoSlambday: I think you should just push to your fork13:30
@HeikoSa new branch in your fork13:30
lambdayHeikoS: yeah alright13:31
lambdayHeikoS: actually that's better13:31
lambdayHeikoS: we can discuss there also13:31
@HeikoSthen you can send PRs against the same branch in upstream13:31
lambdayokay!13:31
lambdayalright13:31
@HeikoSso same model, just that you dont touch/send PRs against develop but say linalg13:31
lambdayalright13:31
@HeikoSlambday: cool man!13:32
@HeikoSlambday: just reading your type inference stuff13:32
lambdayHeikoS: had to make it this way for eigen3.. takes a hell lot of template args :D13:32
lambdayHeikoS: and viennacl also takes two13:33
lambdayI gotta adjust it a bit for viennacl13:33
lambdaybrb with a cup of tea13:34
lambdayback13:37
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has quit [Ping timeout: 240 seconds]13:46
-!- HeikoS [~heiko@0541877d.skybroadband.com] has quit [Ping timeout: 240 seconds]13:56
shogun-buildbotbuild #117 of osx2 - python is complete: Failure [failed examples and unit tests]  Build details are at http://buildbot.shogun-toolbox.org/builders/osx2%20-%20python/builds/117  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Wu Lin <yorker.lin@gmail.com>, khalednasr <k.nasr92@gmail.com>15:32
-!- sonne|osx [~sonne@89.204.139.51] has joined #shogun15:33
-!- sonne|osx [~sonne@89.204.139.51] has quit [Quit: sonne|osx]15:41
-!- pickle27f [~pickle27@216.191.231.218] has joined #shogun16:06
-!- HeikoS [~heiko@pat-191-250.internal.eduroam.ucl.ac.uk] has joined #shogun17:09
-!- mode/#shogun [+o HeikoS] by ChanServ17:09
-!- HeikoS [~heiko@pat-191-250.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]17:16
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has joined #shogun17:21
-!- mode/#shogun [+o HeikoS] by ChanServ17:21
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]17:26
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has joined #shogun17:27
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has joined #shogun17:27
-!- mode/#shogun [+o HeikoS] by ChanServ17:27
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]17:33
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has joined #shogun17:41
-!- mode/#shogun [+o HeikoS] by ChanServ17:41
-!- yorkerlin [c0008056@gateway/web/freenode/ip.192.0.128.86] has joined #shogun17:44
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]17:51
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has joined #shogun18:11
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has joined #shogun18:20
-!- mode/#shogun [+o HeikoS] by ChanServ18:20
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has quit [Client Quit]18:21
@wikingthoralf: ping18:26
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has joined #shogun18:31
-!- mode/#shogun [+o HeikoS] by ChanServ18:31
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has quit [Client Quit]18:33
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has joined #shogun18:42
-!- mode/#shogun [+o HeikoS] by ChanServ18:42
-!- Steve___ [32cbf032@gateway/web/freenode/ip.50.203.240.50] has joined #shogun18:49
-!- pickle27f [~pickle27@216.191.231.218] has quit [Quit: This computer has gone to sleep]18:49
Steve___Can anyone help with an issue I'm having in Cygwin with shogun cmake?18:50
-!- HeikoS [~heiko@nat-8-102.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]18:52
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has quit [Quit: PirosB3]18:53
-!- Steve___ [32cbf032@gateway/web/freenode/ip.50.203.240.50] has quit [Quit: Page closed]18:56
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has joined #shogun18:58
-!- pickle27f [~pickle27@216.191.231.218] has joined #shogun19:01
-!- yorkerlin [c0008056@gateway/web/freenode/ip.192.0.128.86] has quit [Quit: Page closed]19:12
-!- parijat [671b082a@gateway/web/freenode/ip.103.27.8.42] has joined #shogun19:24
-!- lisitsyn [~qdrgsm@188-122-242-81.clients.tlt.100megabit.ru] has joined #shogun19:24
lisitsynlambday: hey19:25
lisitsynI have seen this crazy thing :)19:25
lambdaylisitsyn: hey!19:25
lambdaylisitsyn: I was wishing that you would19:25
lambdaylisitsyn: please check the 2nd one19:26
lisitsynthis is going complicated but it works and we are cool then19:26
lisitsynlet me check again19:26
lambdaylisitsyn: please check the simplified one19:26
lambdaylisitsyn: which just assumes that the first template arg is actually the scalar type19:26
lambdaylisitsyn: currently I pushed this simplified one to my shogun-linalg repo and it works fine19:28
lisitsynlambday: why int...?19:29
lambdaylisitsyn: well I changed it later... for Eigen3 its int.. for ViennaCL its unsigned int...19:29
-!- thoralf [~thoralf@91-66-177-150-dynip.superkabel.de] has quit [Quit: Konversation terminated!]19:29
lisitsynhmm can we forget about these variadic useless-for-us-things?19:29
lisitsynI mean can we avoid declaring it int19:30
lambdayso please check this https://github.com/lambday/shogun-linalg/blob/master/src/linalg/modules/redux.h19:30
lisitsynahh19:30
lambdaylisitsyn: oh that too did19:30
lambdaywait19:30
-!- pickle27f [~pickle27@216.191.231.218] has quit [Quit: This computer has gone to sleep]19:30
lambdaylisitsyn: https://github.com/lambday/shogun-linalg/blob/master/src/linalg/impl/redux.h#L3119:30
lambdaybut specialization has to be done19:31
lisitsynhmm19:31
lambday(don't mind the `sum` method - I have updated only the dot19:31
lisitsynokay let me think what can be improved19:32
lambdaylisitsyn: yes please19:32
lambdaythe outcome is already sexy as fuck!! https://gist.github.com/lambday/5ef302d76b334517647e#file-test_vector2-cpp-L53 :D19:32
lisitsynlambday: the thing is currently we'd have to put a shitload of code to do some say 'norm' operation19:32
lisitsynyeah this is much better indeed19:33
lambdayworks seamlessly with eigen3 vectors as well19:33
lambdaylisitsyn: well, just a bit copy paste19:33
lambdayin impl we're going to add backend specific stuffs19:33
lambdayand in module we're adding these wrappers19:34
lisitsynlambday: Info thing is most confusing for me19:35
lisitsynwish it was hidden somehow19:35
lambdaylisitsyn: is there any way?19:35
lisitsynlambday: I don't know yet19:36
lambdayummm19:36
lambdaylisitsyn: you mean you wanna get rid of this totally - some soln which works for whichever extra info the backend vector class have?19:37
lisitsynyeah19:37
lisitsynjust forget about all the 2nd and 3rd and whatever parameters19:37
lisitsyncan we do that?19:37
lambdaylisitsyn: you can - you're the magician :D19:38
lambdaybut seriously I don't know how!19:38
lambdaytypedefs?19:38
lisitsynlambday: no idea yet :) let me clone and play with your thing19:40
lambdaylisitsyn: yes19:40
lisitsynlambday: write makefiles ;)19:41
lambdaylisitsyn: hah yeah :D19:41
lisitsyndefault:19:42
lisitsyn  g++ -O3 -std=c++0x -I./src/ -I/usr/include/eigen3 -D<OPTIONS> -o test src/test.cpp -lshogun19:42
lisitsynlambday: use this ;)19:42
lambday:D19:42
lambdayOPTION should be changed19:42
lambdayI was thinking of writing a cmakefile.txt but then thought its just a prototype :D19:43
lisitsynhaha19:44
lisitsynlambday: did you know19:44
lisitsynsometimes you can use19:44
lisitsynT.......19:44
lisitsyn:D19:44
lisitsynI didn't know about that19:44
lambdaywhat the19:44
lambdaywhat does it even mean?19:44
lisitsynthis is VERY variadic19:44
lisitsyn:D19:44
lambdayman!19:45
lambdayc++ is going crazy!19:45
lisitsynlambday: I guess this is like variadic function arguments with variadic template parameters19:45
lisitsynbut it's gonna be quite advanced stuff19:45
lambdayah19:45
lambdayphew!19:45
lisitsynlambday: okay so I get the problem19:50
lambdaylisitsyn: what is it19:50
lisitsyntricky thing19:50
lisitsynI mean int vs typename19:50
lambdaylisitsyn: how to resolve this?19:51
lisitsynlambday: never had this so don't know19:51
lambdaylisitsyn: I tried for a few hours then gave up19:51
lisitsynlambday: damn this is another edge where different semantics meet19:53
lisitsynlike template value parameter19:53
lisitsynand template type parameter19:53
lisitsyn:D19:53
lambdayyep!19:53
lambdayI found no better soln than template <class Info,template <class,Info...> class Vector,class T,enum Backend,Info... I>19:54
lambdaythen specialize19:54
lisitsynlambday: what about thing that obtains scalar from SGVector/Vector?19:54
lambdaylisitsyn: that can always be done19:55
lambdaylisitsyn: I did that19:55
lisitsynwon't it simplify things?19:55
lambdaylisitsyn: but looked scary19:55
lisitsynhmm do you have some gist of that?19:55
lambdayoh no that too I have int...19:55
lambdaylisitsyn: https://gist.github.com/lambday/9dbda55fa7af5d1a34cf19:55
lisitsynlambday: I don't remember how C++ acts if you pass a templated type to non-templated typename19:56
lisitsynis this a problem?19:56
lambdaylisitsyn: as in passing SGVector<T> as some class Vector19:57
lisitsyntemplate <typename T> ..19:57
lambdaylisitsyn: can be done19:57
lisitsynbut you call it with19:57
lisitsyn<SGVector<T>>19:57
lisitsyndoes it work?19:57
lambdayyep it does19:57
lambdaylet me check19:57
lisitsynthen we won't have these ints?19:57
lambdaylisitsyn: yeah here https://github.com/lambday/shogun-linalg/blob/master/src/linalg/impl/redux.h#L3719:58
lambdayumm19:58
lisitsynlambday: I can't compile this last gist19:59
lisitsyncan you?19:59
lambdaylisitsyn: yeah because I compiled it with changed SGVector :P19:59
lambdaywith the value_type in there19:59
lisitsynahh19:59
lisitsyngot it19:59
lisitsynokay let me try to simplify that20:02
lisitsynohhhh20:04
lisitsynohhh20:04
lisitsynnow I see20:04
lisitsyn:D20:04
lisitsynlambday: I stopped at specializing20:04
lisitsynhow to specialize without T :D20:04
lambdaylisitsyn: trying locally too :D20:04
lambdaylisitsyn: I don't think we can :D20:05
lambdaynah man!20:06
lambdayno hope!20:06
lisitsynlambday: yeah I can't see any way20:06
lambdayphew!20:06
lambdayI could totally use a full bottle of rum right now20:06
lisitsynlambday: once we need to put SGVector here20:07
lisitsynwe need its type again20:07
lambdaylisitsyn: yeah!20:07
lambdaywas just going to change that then realized20:07
lisitsynhowever20:07
lisitsynok let me try20:07
lisitsynlast chance20:07
-!- pickle27f [~pickle27@216.191.231.218] has joined #shogun20:08
lambdaygo for it!20:09
lisitsynlambday: we are deffs walking on the edge of C++ :D20:09
lambdaylisitsyn: :D20:09
lisitsynlast time I was on it I had a lot of compiler internal errors20:09
lisitsyn:D20:09
lambdaylisitsyn: tell me about it - took hours to get this one compiling!20:10
lisitsynlambday: I think I have an idea20:10
lambdaytell me20:11
lambday!!20:11
lisitsynlambday: but we need something else not type_traits20:11
lambdaylisitsyn: what?20:11
lisitsynlambday: something that can choose anything-of-X-or-Y20:11
lisitsynlike T::X or T::Y20:12
lisitsyneither defined of them20:12
lisitsynsee what I mean?20:12
lambdaynot exactly20:12
lisitsynin eigen3 we have scalar20:12
lisitsynand here we have value_type20:12
lisitsynso we need a thing20:12
lisitsynthat can get either T::Scalar20:12
lisitsynor T::value_type20:12
lambdayif it was just two the IF<..> thing would have worked20:12
lisitsynwell maybe there is a way20:13
lambdaylisitsyn: but even with that IF thing, how do you specialize?20:15
lambdayrecursive IF ...20:16
lisitsynlambday: not clear for me yet20:16
lisitsynlambday: I have 3 errors :D20:16
lisitsyntype/value mismatch20:16
lambdaywhat did you change?20:17
lisitsyna bunch of things20:17
lambdayah is there any online codepad sort of thing where we can share live code like google doc?20:17
lisitsynbasically I am trying to postpone real reference to SGVector<T> to the very last moment20:17
lisitsynhmm yeah there is a bunch of them20:17
lisitsynlet me try some thing and we will see20:18
lisitsynlambday: I give up :D20:27
* lambday cries20:27
lisitsynlambday: it took me some variadic templates again20:28
lisitsynno simplification20:28
lambdaybut if we can minimize the number of places its going to be used20:28
lambdaylisitsyn: then that's better20:28
lambdaylisitsyn: could you please show me your current code?20:29
lisitsynlambday: it doesn't work still but yeah sure20:29
lisitsynhttps://gist.github.com/lisitsyn/7ad1882f6be8e0ff410820:30
lisitsynthe idea was to postpone declaration of Vector as template20:30
lisitsynbut not sure it works20:30
lisitsynit seems it doesn't20:31
lisitsyndue to these additional template parameters20:31
-!- khalednasr [~k.nasr92@41.69.144.155] has joined #shogun20:34
lambdaylisitsyn: yeah! impossible to specialize the type_traits now20:34
lisitsynlambday: ok our last resort to simplify it is macro20:37
lambdayaw, man!20:37
lisitsynlambday: otherwise if someone put int instead of unsigned int20:38
lisitsynor something like that by mistake20:38
-!- lisitsyn [~qdrgsm@188-122-242-81.clients.tlt.100megabit.ru] has quit [Ping timeout: 276 seconds]20:43
-!- parijat [671b082a@gateway/web/freenode/ip.103.27.8.42] has quit [Ping timeout: 240 seconds]20:48
-!- lisitsyn [~qdrgsm@5-28-31-38.clients.tlt.100megabit.ru] has joined #shogun20:55
lambdaylisitsyn: I give up!20:58
lambdaylisitsyn: can't be done!20:58
lisitsynlambday: yeah same thing here20:58
lambdaylisitsyn: ah20:59
lambdaylisitsyn: so what about this macro thing?20:59
lisitsynlambday: well you could try to reduce the verbosity of these arguments of death20:59
lisitsyn< ... > int whatever20:59
lisitsyn:D21:00
lambdaythat's tough too :D21:01
lambdayone macro per method?21:01
lambdaynooooo21:01
lambdaylisitsyn: http://games.usvsth3m.com/2048/boobs-edition-21/ :P21:05
lisitsynlambday: hah21:05
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has quit [Ping timeout: 240 seconds]21:09
-!- abinash_panda [012616d8@gateway/web/freenode/ip.1.38.22.216] has joined #shogun21:18
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has joined #shogun21:19
-!- thoralf [~thoralf@91-65-137-23-dynip.superkabel.de] has joined #shogun21:40
abinash_pandathoralf: Hi !21:40
thoralfHey! ;)21:40
thoralfI'm just writing a reply.21:40
thoralfabinash_panda: Is it possible that the document you sent me is empty?21:41
abinash_pandathoralf: Ok21:41
abinash_pandathoralf: Yeah. I would be completing the document now. Just writing the document.21:41
thoralfabinash_panda: What's your local time right now?21:50
abinash_pandathoralf: Its 1:20 AM21:50
thoralfAnd what are your working hours?21:50
thoralfi.e. the hours you're planning to be awake and working on shogun ;)21:51
abinash_pandathoralf: I am fine with working from anytime between 6 AM upto 11 PM.21:51
thoralf6am - 11pm is 2:30am - 7:30pm here.21:52
thoralfMy working hours are 10am-8pm; so it's 1:30pm-11:30pm your time.21:53
thoralfYou're having lunch when I wake up. ;)21:55
abinash_pandathoralf: Yeah, I would be having a lunch when you wake up :)21:58
thoralfhttps://www.wolframalpha.com/input/?i=berlin+varanasi21:58
thoralfBookmark it, so you know how late it's here.21:59
abinash_pandathoralf: I have bookmarked it.21:59
abinash_pandathoralf: You could see the temperature difference. Its really hot over here22:00
thoralflol22:01
thoralf32?, that's pretty much.22:01
abinash_pandaOne of my friend did his summer internship at Berlin. He used to tell about the temperature over there. I envy you ;)22:03
-!- pickle27f [~pickle27@216.191.231.218] has quit [Ping timeout: 240 seconds]22:04
-!- pickle27_ [~pickle27@216.191.231.218] has joined #shogun22:04
thoralfabinash_panda: I know it's already late, it's okay if you answer my mail tomorrow.22:15
thoralfabinash_panda: Tomorrow we should talk about how we proceed, okay?22:15
abinash_pandathoralf: Yeah. Fine :)22:16
abinash_pandathoralf: I would try my best to be available during night :). I would be completing the schedule early in the morning.22:16
thoralfabinash_panda: I joining between 10am and 1pm.22:17
abinash_pandathoralf: Ok :)22:18
thoralfGood night!22:18
abinash_pandaGood night22:18
-!- abinash_panda [012616d8@gateway/web/freenode/ip.1.38.22.216] has quit []22:19
-!- thoralf [~thoralf@91-65-137-23-dynip.superkabel.de] has quit [Quit: Konversation terminated!]22:19
-!- pickle27_ [~pickle27@216.191.231.218] has quit [Quit: This computer has gone to sleep]22:36
-!- pickle27_ [~pickle27@216.191.231.218] has joined #shogun22:38
-!- pickle27_ [~pickle27@216.191.231.218] has quit [Quit: This computer has gone to sleep]22:54
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has quit [Quit: PirosB3]23:05
lisitsynkhalednasr: hey23:09
khalednasrlisitsyn, hey23:09
lisitsynkhalednasr: good you asked :)23:09
lisitsynI think Theo seems to be busy23:09
khalednasryeah23:09
lisitsynkhalednasr: ok maybe we should just wait a bit23:11
lisitsynkhalednasr: if it is not critical we could postpone until he gets time23:12
khalednasrlisitsyn, yeah sure23:12
lisitsynthis is important as he is the domain expert here23:12
lisitsynI can only say things about engineering :D23:12
khalednasrI'll start working on the class diagram meanwhile23:13
-!- lisitsyn1 [~qdrgsm@5-28-31-38.clients.tlt.100megabit.ru] has joined #shogun23:15
lisitsyn1khalednasr: back :D23:16
lisitsyn1khalednasr: ok what about monday as theo said?23:16
khalednasrlisitsyn1, I'm free Monday night23:16
lisitsyn1khalednasr: yeah works-for-me as well23:16
-!- lisitsyn [~qdrgsm@5-28-31-38.clients.tlt.100megabit.ru] has quit [Ping timeout: 276 seconds]23:17
-!- besser82 [quassel@fedora/besser82] has quit [Read error: Connection reset by peer]23:27
-!- chakri [srichakrad@gateway/shell/bnc4free/x-jsuuiymjsakguetl] has quit [Remote host closed the connection]23:27
-!- besser82 [quassel@fedora/besser82] has joined #shogun23:51
-!- mode/#shogun [+o besser82] by ChanServ23:51
-!- khalednasr [~k.nasr92@41.69.144.155] has quit [Quit: Leaving]23:59
--- Log closed Sat May 10 00:00:42 2014

Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!