--- Log opened Sat May 10 00:00:42 2014 | ||
-!- chakri [srichakrad@gateway/shell/bnc4free/x-dhavdmppdgxnhffn] has joined #shogun | 00:03 | |
-!- pickle27f [~pickle27@216.191.231.218] has joined #shogun | 00:30 | |
-!- pickle27f [~pickle27@216.191.231.218] has quit [Quit: This computer has gone to sleep] | 00:49 | |
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has quit [Ping timeout: 240 seconds] | 03:59 | |
-!- iglesiasg [~iglesiasg@524AE0A7.cm-4-3d.dynamic.ziggo.nl] has joined #shogun | 08:00 | |
-!- mode/#shogun [+o iglesiasg] by ChanServ | 08:00 | |
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has joined #shogun | 08:13 | |
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has quit [Quit: PirosB3] | 08:27 | |
-!- parijat [671b082a@gateway/web/freenode/ip.103.27.8.42] has joined #shogun | 08:46 | |
-!- parijat [671b082a@gateway/web/freenode/ip.103.27.8.42] has quit [Client Quit] | 08:47 | |
-!- iglesiasg [~iglesiasg@524AE0A7.cm-4-3d.dynamic.ziggo.nl] has quit [Quit: Leaving] | 09:26 | |
-!- utsavjain [~utsav@113.193.139.138] has joined #shogun | 09:46 | |
-!- kislay [~Abhijeet@103.240.205.12] has joined #shogun | 11:12 | |
-!- thoralf [~thoralf@91-65-137-23-dynip.superkabel.de] has joined #shogun | 12:23 | |
thoralf | Hey. | 12:24 |
---|---|---|
-!- thoralf [~thoralf@91-65-137-23-dynip.superkabel.de] has quit [Quit: Konversation terminated!] | 12:34 | |
-!- parijat [671b082a@gateway/web/freenode/ip.103.27.8.42] has joined #shogun | 13:14 | |
-!- utsavjain [~utsav@113.193.139.138] has quit [Quit: Leaving.] | 13:25 | |
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has joined #shogun | 13:45 | |
-!- iglesiasg [~iglesiasg@524AE0A7.cm-4-3d.dynamic.ziggo.nl] has joined #shogun | 14:43 | |
-!- mode/#shogun [+o iglesiasg] by ChanServ | 14:43 | |
@iglesiasg | hey parijat | 14:44 |
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has joined #shogun | 14:44 | |
parijat | hello iglesiasg | 14:44 |
@iglesiasg | parijat, all good? | 14:44 |
@iglesiasg | parijat, I am not sure how much time I'll spend around here, but at least enough to start the discussion about tree printing. So shoot! | 14:46 |
-!- parijat_ [671b082a@gateway/web/freenode/ip.103.27.8.42] has joined #shogun | 14:47 | |
@iglesiasg | parijat_, connection prolems? | 14:47 |
parijat_ | iglesiasg: yup I think so, the page stops get updating.. | 14:48 |
parijat_ | iglesiasg: about tree printing, I was saying that | 14:48 |
-!- parijat [671b082a@gateway/web/freenode/ip.103.27.8.42] has quit [Ping timeout: 240 seconds] | 14:48 | |
parijat_ | iglesiasg: I need the tree structure while printing the tree | 14:49 |
parijat_ | iglesiasg: if I make a separate class in shogun/io it would be difficult accessing the tree.. isn't it? | 14:50 |
parijat_ | iglesiasg: also I may traverse the tree in say save method in ID3Tree class, I cant think of ways to transfer the data between ID3Class and the graphviz class in shogun IO | 14:52 |
@iglesiasg | parijat_, did you see the last comment I wrote in github about the DOT file format? | 14:54 |
-!- kislay [~Abhijeet@103.240.205.12] has quit [Quit: Leaving] | 14:56 | |
parijat_ | iglesiasg: ya I glanced over it once.. but my problem is DOT file writer is static method in another class , save method is in another class.. how to share data between two? | 14:56 |
parijat_ | iglesiasg: maybe I can pass using string arguments? | 14:57 |
@iglesiasg | parijat_, hold on a second, I don't see your point | 14:59 |
@iglesiasg | parijat_, there's no DOT file class yet as far as I can see, so what do you mean with "writer is a static method in another class"? | 15:00 |
@iglesiasg | parijat_, and the idea is that the File classes in io support both read (load) and write (save) operations | 15:02 |
parijat_ | iglesiasg: no I was saying that when I create once DOT file class, the writer method will be a method in that class right? I would need to pass on string parameters from save method in ID#Tree class to that write method in DOT File class | 15:04 |
@iglesiasg | parijat_, not exactly like that | 15:04 |
@iglesiasg | parijat_, the DOT File class would have a set of attributes that describe what is necessary to create the .dot | 15:05 |
@iglesiasg | parijat_, in ID3 there would be something like CID3::save(DOTFile*) which would basically set all these attributes | 15:06 |
@iglesiasg | parijat_, but no io takes place in that method | 15:07 |
parijat_ | iglesiasg: in this case, the kind of attributes needed describe a tree like nodes/linkages would not be available to the DOT File class unless we inherit it from CTreeMachine. | 15:07 |
@iglesiasg | parijat_, why not? | 15:08 |
@iglesiasg | parijat_, see io/UAIFIle.h | 15:08 |
@iglesiasg | parijat_, the attributes that it has | 15:08 |
parijat_ | iglesiasg: alright let me see. | 15:09 |
@iglesiasg | parijat_, it's got basically everything that is necessary to represent a factor graph (think about it as a graph if you are not familiarised with factor graphs) | 15:09 |
@iglesiasg | parijat_, and it does it without inheriting from CFactorGraph | 15:10 |
parijat_ | iglesiasg: ok.. let me have a look at how its done. | 15:10 |
@iglesiasg | parijat_, so the idea is basically that the io is done in only place | 15:10 |
@iglesiasg | parijat_, which is a file class (DOTFile or another name if you prefer) | 15:11 |
@iglesiasg | parijat_, the ID3, C4.5, etc, have methods that fill in the attributes of the file class | 15:11 |
@iglesiasg | afk, brb | 15:12 |
parijat_ | iglesiasg: ya I think I am getting the point here | 15:12 |
@iglesiasg | parijat_, great :) | 15:16 |
parijat_ | iglesiasg: actually I went through the CFactorGraph class.. it describes the graph using primitive Shogun data structures | 15:17 |
-!- kislay [~Abhijeet@103.240.206.110] has joined #shogun | 15:18 | |
@iglesiasg | parijat_, ok. what do you want to say with that? :) | 15:18 |
parijat_ | iglesiasg: but in the tree case we are using self-defined data structures. Thats the difference. | 15:18 |
parijat_ | iglesiasg: so in UAIFile.. its easy to recreate the graph from CFactorGraph class | 15:19 |
@iglesiasg | parijat_, ok, that's a point | 15:19 |
parijat_ | iglesiasg: but in DOTFile its not that trivial | 15:19 |
parijat_ | iglesiasg: ya! | 15:19 |
@iglesiasg | parijat_, but if UAIFile can contain info to save a graph, it must be possible to do something similar to save trees | 15:20 |
@iglesiasg | parijat_, although in general we would want to support graphs as well because I think that the DOT file format supports both | 15:20 |
@iglesiasg | parijat_, so I think we should think it more in this direction | 15:20 |
@iglesiasg | parijat_, see what are the contents of a dot file and design data structures for that | 15:20 |
-!- HeikoS [~heiko@0541877d.skybroadband.com] has joined #shogun | 15:20 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 15:20 | |
-!- HeikoS [~heiko@0541877d.skybroadband.com] has quit [Remote host closed the connection] | 15:21 | |
parijat_ | iglesiasg: let me try! I will have to find a way to recreate a graph or tree in DOTFile class | 15:22 |
parijat_ | iglesiasg: ie not using the data structures we have created for tree representation | 15:23 |
@iglesiasg | parijat_, at first sight, I'd say that a matrix of some general data type should do | 15:23 |
parijat_ | iglesiasg: ya but atleast in decision tree case, whats inside a node is also important apart from structure.. matrices only capture structures | 15:24 |
-!- kislay [~Abhijeet@103.240.206.110] has quit [Ping timeout: 250 seconds] | 15:25 | |
parijat_ | iglesiasg: afk, brb | 15:27 |
@iglesiasg | parijat_, that's what I tried to say with some general data type | 15:28 |
@iglesiasg | parijat_, so apart from giving the adjacency information, there's room to store the node info | 15:28 |
parijat_ | iglesiasg: ok! Its clearer to me now. This conversion from one way to tree representation (using CTreeMachine) to other (using adjacency information) will be done in save method in ID3Tree class right? | 15:32 |
parijat_ | iglesiasg: its possible to do something like this.. let me try | 15:33 |
@iglesiasg | parijat_, yes | 15:34 |
@iglesiasg | parijat_, that is what makes sense to me | 15:35 |
parijat_ | iglesiasg: ok cool then! | 15:35 |
parijat_ | iglesiasg: I am also working on implementing C4.5 algo now | 15:35 |
@iglesiasg | parijat_, yeah, I read your mail :) | 15:35 |
@iglesiasg | parijat_, that's great | 15:35 |
@iglesiasg | parijat_, do you want to continue with that one and then once it is finished we work back the io part? | 15:36 |
parijat_ | iglesiasg: once that is done, we will no longer need the ID3 algo class as C4.5 encompasses all cases of ID3 | 15:36 |
@iglesiasg | parijat_, oh, good | 15:36 |
parijat_ | iglesiasg: yes I think I will finish off C4.5 first and then get back to io | 15:37 |
@iglesiasg | all right | 15:37 |
@iglesiasg | feel free to close the PR if so | 15:37 |
parijat_ | iglesiasg: ya sure :-) | 15:37 |
@iglesiasg | parijat_, it was good you made it in any case, it is not work that will be lost | 15:38 |
-!- kislay [~Abhijeet@103.240.205.98] has joined #shogun | 15:38 | |
parijat_ | iglesiasg: ya its actually helping me a lot in C4.5. | 15:38 |
@iglesiasg | great | 15:39 |
parijat_ | iglesiasg: I could re-use some parts of it. | 15:39 |
parijat_ | :-) | 15:39 |
@iglesiasg | parijat_, I will be leaving in a few minutes | 15:44 |
@iglesiasg | parijat_, what is your current time or timezone btw? | 15:44 |
parijat_ | iglesiasg: its 7:15 PM here.. UTC+5:30 | 15:44 |
@iglesiasg | all right! | 15:44 |
@iglesiasg | so +3:30 wrt me | 15:45 |
parijat_ | iglesiasg: whats yours btw? | 15:45 |
-!- kislay [~Abhijeet@103.240.205.98] has quit [Ping timeout: 250 seconds] | 15:45 | |
@iglesiasg | UTC+2 | 15:45 |
@iglesiasg | CEST | 15:45 |
parijat_ | iglesiasg: ok cool | 15:45 |
parijat_ | iglesiasg: thats not much time difference, we can definitely find some common time to communicate in irc | 15:46 |
parijat_ | iglesiasg: also I am setting up my blog probably in octopress. | 15:47 |
@iglesiasg | parijat_, awesome | 15:47 |
@iglesiasg | parijat_, all right then, I hear from you and C4.5 then! | 15:49 |
@iglesiasg | parijat_, and enjoy the weekend ;) | 15:49 |
parijat_ | parijat_: yup! very soon hopefully!.. | 15:49 |
parijat_ | iglesiasg: it was meant for you not ME | 15:49 |
@iglesiasg | haha yeah | 15:49 |
@iglesiasg | I have done that thousands of times | 15:50 |
-!- iglesiasg [~iglesiasg@524AE0A7.cm-4-3d.dynamic.ziggo.nl] has quit [Quit: Leaving] | 15:50 | |
-!- parijat_ [671b082a@gateway/web/freenode/ip.103.27.8.42] has quit [Quit: Page closed] | 15:50 | |
-!- kislay [~Abhijeet@103.240.205.76] has joined #shogun | 15:57 | |
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has quit [Ping timeout: 240 seconds] | 17:44 | |
-!- lisitsyn [~qdrgsm@5-28-31-38.clients.tlt.100megabit.ru] has joined #shogun | 18:06 | |
-!- lisitsyn1 [~qdrgsm@5-28-31-38.clients.tlt.100megabit.ru] has quit [Ping timeout: 240 seconds] | 18:09 | |
-!- lisitsyn [~qdrgsm@5-28-31-38.clients.tlt.100megabit.ru] has quit [Read error: Connection reset by peer] | 18:12 | |
-!- sunil1337 [~AndChat56@183.83.134.244] has joined #shogun | 19:06 | |
-!- sunil1337 [~AndChat56@183.83.134.244] has quit [Read error: Connection reset by peer] | 19:10 | |
-!- sunil1337 [~AndChat56@183.83.134.244] has joined #shogun | 19:11 | |
-!- sunil1337 [~AndChat56@183.83.134.244] has quit [Read error: No route to host] | 19:19 | |
-!- pickle27 [~pickle27@192-0-136-118.cpe.teksavvy.com] has joined #shogun | 19:22 | |
-!- lisitsyn [~qdrgsm@5-28-31-38.clients.tlt.100megabit.ru] has joined #shogun | 19:25 | |
-!- kislay [~Abhijeet@103.240.205.76] has quit [Ping timeout: 250 seconds] | 20:39 | |
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has quit [Quit: PirosB3] | 20:41 | |
-!- kislay [~Abhijeet@103.240.205.33] has joined #shogun | 20:51 | |
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has joined #shogun | 21:04 | |
lambday | lisitsyn: hi! | 21:06 |
lisitsyn | lambday: hey | 21:07 |
lambday | lisitsyn: hey | 21:07 |
lisitsyn | what's up? | 21:08 |
lambday | lisitsyn: so I pushed few things to my fork! | 21:08 |
lisitsyn | cool | 21:08 |
lambday | lisitsyn: now I want to send a PR against feature/linalg in upstream | 21:08 |
lambday | lisitsyn: how to do that? | 21:08 |
lambday | choose different base? | 21:08 |
lambday | lisitsyn: https://github.com/lambday/shogun/compare/feature;linalg | 21:09 |
lisitsyn | lambday: you mean you want a PR against some not-develop branch | 21:10 |
lisitsyn | ? | 21:10 |
lambday | lisitsyn: exactly | 21:10 |
lisitsyn | well you can select these things | 21:10 |
lambday | lisitsyn: so it won't matter that that branch doesn't exist there? | 21:11 |
lambday | lisitsyn: it will create it? | 21:11 |
lisitsyn | ah I guess you'd need it | 21:11 |
lisitsyn | not sure about it | 21:11 |
lisitsyn | lambday: just create it if it is not here | 21:11 |
-!- kislay [~Abhijeet@103.240.205.33] has quit [Quit: Leaving] | 21:12 | |
-!- kislay [~Abhijeet@103.240.205.33] has joined #shogun | 21:12 | |
-!- PirosB3 [~pirosb3@cpc4-newt31-2-0-cust631.newt.cable.virginm.net] has joined #shogun | 21:14 | |
lambday | lisitsyn: got it man! thanks :) | 21:17 |
@wiking | lambday: cmake mod is not good | 21:43 |
@wiking | i have now like 15 mins | 21:43 |
@wiking | why the hell do we need to set linalg backend compile time? | 21:44 |
lambday | wiking: well firstly its just the global one - secondly its a lot faster | 21:44 |
lambday | wiking: I mean we can always use any backend I want in my code | 21:45 |
@wiking | no u cant | 21:45 |
lambday | if I just wanna leave it to default, then its easier way | 21:45 |
@wiking | and if so | 21:45 |
@wiking | why do you want it to set with a configure flag? | 21:45 |
lambday | wiking: that's for inside shogun methods | 21:46 |
lambday | wiking: I don't understand why its bad | 21:46 |
lambday | wiking: you mentioned about shogun-linalg-eigen3 and shogun-linalg-viennacl | 21:47 |
lambday | but how about we just leave things as they were? no explicit cmake option == eigen3 backend | 21:47 |
lambday | and that's what we use in packages | 21:47 |
@wiking | ok i'm just commenting the hell out of your pr | 21:50 |
@wiking | ok more or less done | 21:54 |
lambday | wiking: thanks for the comments :) | 21:54 |
@wiking | no | 21:54 |
@wiking | 21:47 < lambday> but how about we just leave things as they were? no explicit cmake option == eigen3 backend | 21:54 |
lambday | wiking: I'll take care of these | 21:54 |
@wiking | 21:47 < lambday> and that's what we use in packages | 21:55 |
@wiking | this is actually a bad idea | 21:55 |
@wiking | lambday: how will u take care of src/shogun/mathematics/linalg/linalg.h | 21:55 |
@wiking | ? | 21:55 |
@wiking | that should be discussed as it's really really not a good design atm | 21:55 |
@wiking | and again | 21:55 |
@wiking | why can't we have a linalg backend simply set during runtime | 21:56 |
@wiking | even if it's in the init_shogun() case | 21:56 |
@wiking | i dont care | 21:56 |
@wiking | but deciding this during compile time is really not a good decision | 21:56 |
@wiking | especially if once ever we are going to be able to modularize shogun | 21:56 |
lambday | wiking: well the idea behind keeping default backend is that - we cannot provide all default implementation for all linalg tasks - that's why having one as default sounded good to me | 21:58 |
lambday | wiking: and regarding compile time and runtime - I noticed 10x speedup using compile time option | 21:58 |
-!- travis-ci [~travis-ci@ec2-54-198-29-194.compute-1.amazonaws.com] has joined #shogun | 21:58 | |
travis-ci | [travis-ci] it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: http://travis-ci.org/shogun-toolbox/shogun/builds/24878994 | 21:58 |
-!- travis-ci [~travis-ci@ec2-54-198-29-194.compute-1.amazonaws.com] has left #shogun [] | 21:58 | |
lambday | wiking: I didn't get what you meant by taking care of linalg.h | 21:59 |
lambday | could you please explain a bit? | 21:59 |
-!- abinash_panda [0126136e@gateway/web/freenode/ip.1.38.19.110] has joined #shogun | 22:02 | |
@wiking | lambday: i've just managed to check your benchmarking code | 22:09 |
lambday | wiking: alright | 22:09 |
@wiking | lambday: if u use 'switch (linalg_backend)' to decide what backend to use | 22:09 |
@wiking | that's obvious that you are going to have a big difference | 22:09 |
@wiking | u r adding to each call at least one extra branch | 22:09 |
lambday | wiking: that will cause so much difference? | 22:10 |
lambday | 1 mil vector dot product | 22:10 |
lambday | the difference is like 10x on my machine | 22:11 |
@wiking | get_dot_computer | 22:11 |
@wiking | with a reinterpret_cast | 22:11 |
lambday | wiking: yeah its bad! but I didn't understand that time how else we can manage this | 22:13 |
lambday | wiking: and its leading to super slow and *massive* code which seems totally unnecessary | 22:13 |
lambday | wiking: I started trying out with the other option just because of that! else we had almost decided to go by this design | 22:14 |
lambday | just imagine this has to be done for *all* the operations that we're gonna have! that's gonna be huge! | 22:15 |
@wiking | but because of this | 22:15 |
@wiking | i'm saying that it wasn't a good design | 22:15 |
lambday | the factory one? | 22:16 |
@wiking | yes | 22:16 |
@wiking | this should have been done very differently | 22:16 |
lambday | yeah that I felt too | 22:16 |
@wiking | the problem is that this way there's no fucking way in the future | 22:17 |
@wiking | to be able to have shogun that can support different linalg plugins | 22:17 |
lambday | using config options you mean? | 22:17 |
@wiking | and what happens when u want to use 2 different linalg backends in one code? | 22:17 |
@wiking | say i know that some linalg i'm doing will be much better to be used with GPU based backend | 22:18 |
lambday | wiking: I can always use any backend I want by explicitly mentioning it | 22:18 |
lambday | wiking: I can choose not to use what backend was set globally | 22:18 |
@wiking | but then for other data it'll make like totally misreable because the data is so small | 22:18 |
-!- pickle27 [~pickle27@192-0-136-118.cpe.teksavvy.com] has quit [Quit: Leaving] | 22:18 | |
@wiking | that the memmove operation between cpu-gpu is just too big compared to the linalg op | 22:19 |
@wiking | lambday: how if u do this compile time? | 22:19 |
lambday | wiking: that's why I kept it this way so that one can directly pass ViennaCL vectors or Eigen3 vectors | 22:19 |
lambday | without hvaing to convert from SGVector each time | 22:20 |
@wiking | i wasn't talking about htis now | 22:20 |
@wiking | *this | 22:20 |
@wiking | i'm saying that i have a matrix and a vector in my code | 22:20 |
lambday | wiking: well, using directly methods from implementation which takes backend as a template arg | 22:20 |
@wiking | i want u use viennacl for the matrix and i want to use eigen for the vectors | 22:20 |
lambday | wiking: can be done | 22:21 |
@wiking | but then if so | 22:21 |
@wiking | then why the hell do we want to do anything compile time? | 22:21 |
lambday | well, what i thought is that when we can do pretty much anything we want in runtime and in compile time, then I should use compile time because of speed | 22:22 |
lambday | no overhead of virtual calls | 22:22 |
lambday | templated methods which decides things when they are used | 22:23 |
@wiking | 22:21 < lambday> wiking: can be done | 22:23 |
lambday | in compile time | 22:23 |
@wiking | i'm repeating myself | 22:23 |
@wiking | you are saying that 22:21 < lambday> wiking: can be done | 22:23 |
@wiking | meaning no matter what u set for cmake, u can switch to another backend, right? | 22:23 |
lambday | wiking: yep, if I wish! cmake option is global option but in my code I can choose any backend I want if I *know* that using this particular backend is going to be profitable | 22:24 |
lambday | if I just wanna rely on globally set backend by cmake, then I just use linalg::method() without caring about backend | 22:25 |
@wiking | lambday: but then why do you want to set this with a cmake option | 22:25 |
@wiking | i really dont get this | 22:25 |
@wiking | why do you need cmake at all if this can be changed later | 22:25 |
@wiking | after build | 22:25 |
lambday | wiking: not changed later - decided during compile time | 22:26 |
lambday | wiking: and global is set because not everytime we wanna specify backend for each method so for ease of use inside shogun | 22:26 |
@wiking | ok so now you then misunderstood my question | 22:27 |
@wiking | i said | 22:27 |
@wiking | i have shogun compiled as it is | 22:27 |
@wiking | say eigen backend | 22:27 |
lambday | yep! | 22:27 |
@wiking | but what if i want to use viennacl | 22:27 |
@wiking | i have to recompile? | 22:27 |
lambday | wiking: inside shogun or in some code that uses shogun | 22:27 |
lambday | ?? | 22:27 |
lambday | say, in examples | 22:29 |
lambday | in a shogun example you use viennacl vector | 22:29 |
lambday | shogun doesn't need to be recompiled | 22:29 |
lambday | linalg its header only | 22:29 |
lambday | *but* | 22:29 |
@wiking | both | 22:31 |
lambday | if inside shogun you change a method to use viennacl backend from default one you'll of course need to recompile | 22:31 |
lambday | if inside shogun you change anything of course you need to recompile, right? | 22:31 |
lambday | but as a shogun user you wanna play around with a different backend in those methods - you don't have to recompile shogun for that | 22:31 |
lambday | just recompile your application | 22:31 |
-!- abinash_panda [0126136e@gateway/web/freenode/ip.1.38.19.110] has quit [Ping timeout: 240 seconds] | 22:31 | |
lambday | so is it that bad? | 22:32 |
lambday | I mean even relying on set_backend() calls - say, if I change inside shogun from set_backend(Eigen3) to set_backend(viennacl) we'll have to recompile shogun | 22:33 |
@wiking | yes | 22:33 |
@wiking | it's bad | 22:33 |
@wiking | because it's already a bad design decision that if one doesn't have say eigen | 22:33 |
lambday | wiking: what flexibility are we losing here? | 22:33 |
@wiking | you dont have some major feature of shogun | 22:33 |
lambday | wiking: that can be modified | 22:34 |
@wiking | GP related things are generally like hat | 22:34 |
@wiking | *that | 22:34 |
@wiking | #ifdef HAVE_EIGEN3 | 22:34 |
@wiking | ... | 22:34 |
@wiking | and then u totally miss a whole class if u dont have eigen | 22:34 |
@wiking | it was the same with lapack | 22:34 |
lambday | that's true even now | 22:34 |
@wiking | "22:33 <@wiking> because it's already a bad design decision that if one doesn't have say eigen" | 22:34 |
@wiking | *already* | 22:35 |
lambday | yeah | 22:35 |
@wiking | implying -> it's already like this | 22:35 |
lambday | but the pt is, we can change that | 22:35 |
lambday | so having eigen3 as default is not something you like | 22:35 |
@wiking | no | 22:35 |
@wiking | it's really not about that | 22:35 |
@wiking | it's about having a shogun class being glued to a shogun class | 22:36 |
@wiking | it's about having a shogun class being glued to a library | 22:36 |
lambday | wiking: okay so the other option is - we can remove these HAVE_DEFAULT thing | 22:37 |
lambday | no default per se | 22:37 |
lambday | and it should work even when eigen3 is not there but viennacl is there to the rescue | 22:38 |
lambday | right? | 22:38 |
@wiking | mmm | 22:38 |
@wiking | i dont know but i have a feeling that we are talking in parallel | 22:38 |
lambday | okay did I get you right on this - you don't want shogun to be glued to any particular library | 22:39 |
@wiking | indeed | 22:39 |
@wiking | we already have that | 22:39 |
@wiking | which is of course hard to change | 22:39 |
@wiking | but at least we should try to not to add more things like this | 22:39 |
lambday | alright then if I get you right, these linalg methods should work if *any* of the available backends are there | 22:40 |
lambday | and if *none* of them are found, we're missing linalg library | 22:41 |
lambday | (because we cannot write a whole linalg library on our own) | 22:41 |
lambday | wiking: | 22:42 |
-!- soumyaC [uid15286@gateway/web/irccloud.com/x-laocytcyesefzakl] has joined #shogun | 23:01 | |
-!- ChanServ [ChanServ@services.] has quit [shutting down] | 23:14 | |
-!- ChanServ [ChanServ@services.] has joined #shogun | 23:30 | |
-!- ServerMode/#shogun [+o ChanServ] by sendak.freenode.net | 23:30 | |
-!- naywhayare [~ryan@spoon.lugatgt.org] has quit [Ping timeout: 252 seconds] | 23:35 | |
-!- naywhayare [~ryan@spoon.lugatgt.org] has joined #shogun | 23:36 | |
-!- naywhayare [~ryan@spoon.lugatgt.org] has quit [Ping timeout: 252 seconds] | 23:41 | |
-!- naywhayare [~ryan@spoon.lugatgt.org] has joined #shogun | 23:42 | |
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has quit [Quit: Leaving.] | 23:44 | |
--- Log closed Sun May 11 00:00:43 2014 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!