Open in new window / Try shogun cloud
--- Log opened Sun Jul 06 00:00:02 2014
-!- rajul_ [~rajul@] has quit [Ping timeout: 260 seconds]00:22
-!- rajul [~rajul@] has joined #shogun00:30
-!- rajul [~rajul@] has quit [Quit: Leaving]00:40
-!- rajul [~rajul@] has joined #shogun00:46
-!- rajul [~rajul@] has quit [Client Quit]00:48
-!- shogun-notifier- [] has quit [Quit: transmission timeout]01:03
shogun-buildbotbuild #745 of nightly_none is complete: Success [build successful]  Build details are at
shogun-buildbotbuild #740 of nightly_all is complete: Failure [failed compile test]  Build details are at  blamelist: Heiko Strathmann <>, lambday <>, Sergey Lisitsyn <>, khalednasr <>03:13
-!- khalednasr [~k.nasr92@] has joined #shogun03:30
shogun-buildbotbuild #844 of nightly_default is complete: Success [build successful]  Build details are at
-!- khalednasr [~k.nasr92@] has quit [Ping timeout: 252 seconds]05:30
-!- rajul [~rajul@] has joined #shogun07:42
-!- rajul_ [~rajul@] has joined #shogun07:55
-!- rajul [~rajul@] has quit [Ping timeout: 272 seconds]07:59
-!- rajul_ [~rajul@] has quit [Quit: Leaving]09:05
-!- rajul [~rajul@] has joined #shogun09:05
-!- hushell [] has quit [Ping timeout: 240 seconds]09:09
-!- kislay [~Abhijeet@] has joined #shogun09:30
-!- kislay [~Abhijeet@] has quit [Ping timeout: 252 seconds]09:36
-!- khalednasr [~k.nasr92@] has joined #shogun09:38
-!- kislay [~Abhijeet@] has joined #shogun09:39
-!- khalednasr [~k.nasr92@] has quit [Quit: Leaving]09:43
shogun-buildbotbuild #169 of osx2 - python is complete: Failure [failed test python modular]  Build details are at  blamelist: Parijat Mazumdar <>09:53
-!- kislay [~Abhijeet@] has quit [Ping timeout: 240 seconds]09:54
shogun-buildbotbuild #170 of osx2 - python is complete: Failure [failed examples and unit tests]  Build details are at  blamelist: Heiko Strathmann <>, Sergey Lisitsyn <>, Fernando Iglesias <>, khalednasr <>10:06
-!- kislay [~Abhijeet@] has joined #shogun10:06
-!- rajul [~rajul@] has quit [Ping timeout: 272 seconds]10:08
-!- witness___ [uid10044@gateway/web/] has joined #shogun10:14
-!- shogun-notifier- [] has joined #shogun10:48
shogun-notifier-shogun: khalednasr :feature/linalg * 42829d4 / / (7 files):
shogun-notifier-shogun: refactored linalg's dot product10:48
shogun-notifier-shogun: Soumyajit De :feature/linalg * c14ff65 / / (7 files):
shogun-notifier-shogun: Merge pull request #2367 from khalednasr/feature/linalg10:48
shogun-notifier-shogun: refactored linalg's dot product10:48
-!- kislay [~Abhijeet@] has quit [Ping timeout: 255 seconds]11:23
-!- PirosB3 [] has joined #shogun11:34
-!- kislay [~Abhijeet@] has joined #shogun11:42
-!- PirosB3 [] has quit [Quit: PirosB3]12:17
-!- rajul [~rajul@] has joined #shogun12:36
-!- PirosB3 [] has joined #shogun12:37
shogun-notifier-shogun: Abhijeet :develop * fe6e8c6 / src/shogun/preprocessor/FisherLDA.cpp,src/shogun/preprocessor/FisherLDA.h:
shogun-notifier-shogun: FisherLDA coverty defects fixed12:40
shogun-notifier-shogun: Fernando Iglesias :develop * 352b606 / src/shogun/preprocessor/FisherLDA.cpp,src/shogun/preprocessor/FisherLDA.h:
shogun-notifier-shogun: Merge pull request #2369 from kislayabhi/fisher_dafects12:40
shogun-notifier-shogun: FisherLDA coverty defects fixed12:40
shogun-buildbotbuild #171 of osx2 - python is complete: Failure [failed test python modular]  Build details are at  blamelist: Abhijeet <>13:08
shogun-buildbotbuild #172 of osx2 - python is complete: Failure [failed test python modular]  Build details are at  blamelist: Fernando Iglesias <>13:29
-!- travis-ci [] has joined #shogun13:30
travis-ci[travis-ci] it's Fernando Iglesias's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun:
-!- travis-ci [] has left #shogun []13:30
-!- PirosB3 [] has quit [Read error: No route to host]13:31
-!- PirosB3 [] has joined #shogun13:31
-!- PirosB3 [] has quit [Quit: PirosB3]14:14
-!- lisitsyn [~qdrgsm@] has joined #shogun14:45
-!- HeikoS [] has joined #shogun14:45
-!- mode/#shogun [+o HeikoS] by ChanServ14:45
shogun-notifier-shogun-data: Abhijeet :master * ca0adc5 / testsuite/python2-tests/ (2 files):
shogun-notifier-shogun-data: added data files for LDA.cpp integration14:54
shogun-notifier-shogun-data: Heiko Strathmann :master * 527e601 / testsuite/python2-tests/ (2 files):
shogun-notifier-shogun-data: Merge pull request #61 from kislayabhi/master14:54
shogun-notifier-shogun-data: added data files for LDA.cpp integration14:55
shogun-notifier-shogun-demo: Saurabh :master * 456a8ae / / (4 files):
shogun-notifier-shogun-demo: add predictive plot15:08
shogun-notifier-shogun-demo: Heiko Strathmann :master * a4795ee / / (4 files):
shogun-notifier-shogun-demo: Merge pull request #51 from Saurabh7/predictive15:08
shogun-notifier-shogun-demo: add predictive plot15:09
-!- HeikoS [] has quit [Ping timeout: 260 seconds]15:44
-!- hushell [] has joined #shogun16:28
-!- pickle27 [] has joined #shogun17:53
-!- shogun-notifier- [] has quit [Quit: transmission timeout]18:09
-!- witness___ [uid10044@gateway/web/] has quit [Quit: Connection closed for inactivity]18:14
-!- khalednasr [~k.nasr92@] has joined #shogun18:27
-!- lambday [67157e4c@gateway/web/freenode/ip.] has joined #shogun18:37
lambdaykhalednasr: hi18:40
khalednasrlambday, hi18:40
-!- rajul_ [~rajul@] has joined #shogun18:40
lambdaykhalednasr: could you please explain the issue with returning a new matrix for gpu?18:40
lambdaykhalednasr: sorry but I just want to understand :D'18:41
-!- rajul [~rajul@] has quit [Ping timeout: 248 seconds]18:41
khalednasrlambday, If you have the square method always returning an SGMatrix, it'll do the computation on the gpu, create a new matrix on gpu memory and then create another matrix on cpu memory and copy the data18:42
khalednasrlambday, which would take a while :)18:42
lambdaykhalednasr: ah I see!18:42
lambdaykhalednasr: great catch!18:42
lambdaykhalednasr: so you're suggesting that if we use gpu backend to compute something18:43
lambdaythen we should better stick with gpu memory instead and continue the rest of the work with that18:43
lambdaykhalednasr: what I am wondering is that, how often would we actually use a gpu backend for non gpu matrices...18:44
-!- witness___ [uid10044@gateway/web/] has joined #shogun18:44
khalednasrI'm not sure, the overhead of copying data back and forth between gpu and cpu is quite large18:44
lambdaykhalednasr: I am just thinking that creating the result matrix in my code and then passing it to the method is too much work :(18:45
lambdaykhalednasr: plus, I gotta do it this way... square(SGMatrix.... a, GPUMatrix.... b)18:45
lambdayresult goes into b18:45
khalednasryeah, If we add another template parameter for the return type18:46
khalednasrfor the result*18:46
lambdaybut I guess more often than not, when someone is *knowingly* working with gpu backend, he'd be using gpu matrices18:47
-!- rajul_ is now known as rajul18:47
khalednasrlambday, yeah18:47
khalednasrso another template parameter for the result is probably not necessary18:48
lambdaykhalednasr: I am just wondering if we need to do it this way for backend independent cases..18:48
lambdayI mean, yes, technically its possible to set global backend to be viennacl18:48
lambdayin that case any method using global backend is doomed18:48
lambdaybut if in my code I want to use with *only* gpu matrices, then maybe in the code I should use explicit backend and use gpu matrices18:49
lambdaywhich is safe no matter what global backend is set18:49
khalednasrlambday, yup, make making it possible to select backends for invidiual algorithms would be better18:49
khalednasrmaybe making it possible*18:50
lambdaykhalednasr: that's always possible.. for each method18:50
khalednasryeah, I mean on the user side18:50
lambdaythe developer just has to be concerned about the gpu-ness of a and b :D18:50
khalednasrlike, the user should be able select which backend neural nets run on, an so on18:51
lambdaykhalednasr: you mean module wise backend setup?18:51
lambdayI mean module-wise global backend setup?18:51
khalednasrlambday, yeah18:52
lambdaykhalednasr: my main concern is this - say, we're using eigen3 matrix for example... and I have a SGMatrix... so I want the result to be SG, not Eigen::Matrix18:53
lambdayI mean the non gpu cases shouldn't suffer18:53
khalednasrlambday, ah I see18:54
lambdaykhalednasr: if I understood your concern correctly, then you want to avoid data copy back and forth from cpu <--> gpu.. which is possible if we use in our code CGPUMatrix and explicit backend for the methods we call on them18:56
lambdaybut the module-wise global backend setup for those methods won't work!.. we can't use CUDA for that, for example18:56
khalednasrlambday, yeah, the main problem is with the return type18:59
lambdaykhalednasr: if we do things explictly then there's no problem though, right?19:00
lambdayI pass a gpu matrix, use gpu backend to compute things which constructs a new matrix in gpu,... and it returns a gpu matrix only19:00
khalednasryeah, but we have to pick a return type for the wrapper method19:00
lambdaykhalednasr: if we use the same matrix type then what's the problem? when I am passing CGPUMatrix then return type is also CGPUMatrix in which case we're steering clear of the data copy thing19:02
khalednasrlambday, ahh I see, sorry I was confused about something19:03
khalednasrlambday, yeah there won't be a problem19:03
lambdaymaybe we need to rethink this a bit... using another namespace to separete things as wiking suggested...19:04
lambdayhaha happens all the time :D19:04
khalednasrlambday, but we should probably have another wrapper methods that uses a pre-allocated result matrix19:04
lambdayso I guess it should be mentioned in a SG_INFO that data copy is a disaster19:05
lambdaykhalednasr: yeah that's fine19:05
lambdaykhalednasr: in those operators/copy constructors where you copy cpu <-----> gpu... could you please put a SG_INFO in there?19:05
khalednasrlambday, yeah sure19:06
lambdaySG_INFO("Caution: You're laptop's gonna curse you in 3...2...1... BOOM!");19:06
khalednasrhaha :D19:06
khalednasrlambday, another thing: in the Block struct, the matrix is copied into a struct member19:08
lambdaykhalednasr: I think no.. :/19:08
lambdayblock just carries indices19:08
lambdaylet me check19:08
lambdayif I did that then I'm stupid19:08
lambdaykhalednasr: block just wraps around the matrix19:10
lambdaymemory is allocated via pointer to that ptr is copied not the data19:10
khalednasryeah that's the case for SGMatrix and GPUMatrix19:10
khalednasrbut eigen3 does deep copies19:10
lambdaykhalednasr: err.. we should use const&19:11
khalednasrlambday, yeah19:12
lambdaykhalednasr: you're a lifesavor19:12
khalednasrlambday, haha :)19:13
lambdaykhalednasr: if you add a new module, please make appropriate changes in the cmake also :)19:15
khalednasrlambday, sure19:15
lambdayI'm psyched about getting feature/linalg merged with develop...19:15
khalednasrlambday, me too, can't wait to crash my computer's gpu with a huge neural net :D19:16
lambdaykhalednasr: haha... my poor laptop can't now run viennacl.. I am using pocl19:17
lambdayit shows pocl error : unimplemented opencl method with your new stuffs :(19:17
khalednasrlambday, oh, what should we call the new module? I don't think Util is very suitable19:19
lambdayI am the last person to ask about names :(19:19
lambdayyou suggest19:19
lambdayIdeally we want general stuffs to be there... matrix matrix multiplications, etc19:19
-!- rajul [~rajul@] has quit [Ping timeout: 248 seconds]19:20
khalednasrI hate naming stuff too19:20
lambdayI always turn to heiko about names :(19:21
lambdaylisitsyn: SOS19:21
khalednasrmaybe Core? or Basic?19:21
lambdaybasic yeha19:21
lambdaycore sounds good too19:21
lambdaylet us steal names from eigen319:21
khalednasrlambday, good idea :)19:22
-!- lisitsyn [~qdrgsm@] has quit [Ping timeout: 252 seconds]19:25
-!- soumyaC [uid15286@gateway/web/] has joined #shogun19:28
khalednasrlambday, back19:36
lambdaykhalednasr: wb19:36
khalednasrlambday, seems like Eigen3 has that stuff in their Core module19:37
lambdaykhalednasr: do you know if we can use ccache with clang?19:37
lambdaykhalednasr: yeha... and many more things19:37
lambdaycore is literally the core module there :/19:37
khalednasrlambday, nope, no idea19:37
lambdaybasic is cool19:40
lambdayno advanced stuffs... just basic things :D19:40
khalednasrlambday, cool :)19:40
lambdaykhalednasr: later when you send the PR then maybe we can ask peers to suggest names19:41
-!- pickle27 [] has quit [Remote host closed the connection]19:42
khalednasrlambday, yeah19:42
-!- Jiaolong [9e6d09e4@gateway/web/freenode/ip.] has quit []19:53
-!- lambday [67157e4c@gateway/web/freenode/ip.] has quit [Quit: Page closed]20:15
-!- lambday [67157f4f@gateway/web/freenode/ip.] has joined #shogun20:15
-!- kislay [~Abhijeet@] has quit [Quit: Leaving]20:49
-!- rajul [~rajul@] has joined #shogun21:49
-!- jiaolong [9e6d1f01@gateway/web/freenode/ip.] has joined #shogun22:24
-!- lisitsyn [~qdrgsm@] has joined #shogun22:28
lisitsynlambday: khalednasr: I am back :D22:28
lisitsynanything I can help with?22:28
khalednasrlisitsyn, hey :)22:38
khalednasrlisitsyn, we were talking about what we should name a module in linalg that contains matrix mulitplications, additions and elementwise operations, etc22:38
lisitsynkhalednasr: uhmm and what were suggestions?22:54
khalednasrlisitsyn, core, basic, util, got any others?22:55
lisitsyndoesn't sound util22:56
lisitsyncore seems to be ok22:56
khalednasryeah, I agree22:57
-!- lambday [67157f4f@gateway/web/freenode/ip.] has quit [Ping timeout: 246 seconds]23:01
-!- rajul [~rajul@] has quit [Quit: Leaving]23:13
-!- thoralf_ [] has joined #shogun23:15
--- Log closed Mon Jul 07 00:00:04 2014