ãã®æçš¿ã§ã¯ãããããã€ã³ã¿ã©ã¯ãã£ããããã³åæ£åŠçã®ããã«ãIntel Data Analytics Acceleration LibraryïŒIntel DAALïŒãGoããã°ã©ãã³ã°èšèªãšãšãã«äœ¿çšããæ¹æ³ã«ã€ããŠèª¬æããŸãã
Goã«åºã¥ããŠã
Kubernetes ã
Docker ã
Consul ã
etcdãªã©ãææ°ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãããžã§ã¯ããæ§ç¯ãããŸããã Goã¯ãDevOpsãWebãµãŒããŒãããã³ãã€ã¯ããµãŒãã¹ã®åªå
èšèªã«ãªãã€ã€ãããŸãã ãã®èšèªã¯ç¿åŸã容æã§ãå±éãç°¡åã§ãéåžžã«é«éã§ãåªããéçºããŒã«ã»ãããåããŠããŸãã
ããŒã¿ã®åŠçãšåæã¯ããžãã¹ã§ãŸããŸãé »ç¹ã«äœ¿çšããããããGoèšèªã䜿çšãããã¬ãã«ãå«ããäŒæ¥ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãã¹ãŠã®ã¬ãã«ã§ãªãœãŒã¹éçŽåã®èšç®ã¢ã«ãŽãªãºã ãå®è£
ããå¿
èŠããããŸãã è«ççãªçåãçããŸããæ©æ¢°åŠç¿ãåæ£ããŒã¿å€æã察話åããŒã¿åæãªã©ã®ãœãªã¥ãŒã·ã§ã³ãGoããŒã¹ã®ã·ã¹ãã ã«ã©ã®ããã«çµ±åããã®ã§ããããã
Goã§ããŒã¿ã確å®ãè¿
éãã¹ã±ãŒã©ãã«ã«åŠçãã1ã€ã®æ¹æ³ã¯ãGoããã°ã©ã ã§
Intel Data Analytics Acceleration Library ïŒIntel DAALïŒã䜿çšããããšã§ãã ãã®ã©ã€ãã©ãªã¯ãããŸããŸãªäŸ¿å©ãªã¿ã¹ã¯ã®ããã®ããããã€ã³ã¿ã©ã¯ãã£ããããã³åæ£åŠçã¢ã«ãŽãªãºã ãæäŸããŸãã

Goã¯C / C ++ã§æ£åžžã«æ©èœããããããã®æ©èœãGoããã°ã©ã ã«ããã»ã©å°é£ãªãå®è£
ã§ããŸãã åæã«ãé床ã®é¢ã§ã倧ããªã¡ãªããããããŸãããããã®ã©ã€ãã©ãªã¯ãã§ã«Intelã¢ãŒããã¯ãã£åãã«æé©åãããŠããŸãã
ããã«ç€ºããã
ã« ãäž»èŠã³ã³ããŒãã³ãã®åæãªã©ã®ç¹å®ã®æäœã§ã¯ãIntel DAALã¯ãMLlibã䜿çšããSparkããã7åé«éã«å®è¡ã§ããŸãã ããã¯ãšãŠãã¯ãŒã«ã§ãïŒ Goã¢ããªã±ãŒã·ã§ã³ã§ãã®ãããªãã¯ãŒã䜿çšãããšéåžžã«äŸ¿å©ã§ãã
Intel DAALãã€ã³ã¹ããŒã«ãã
Intel DAALã¯
ãªãŒãã³ãœãŒã¹ãšããŠå
¥æã§ããŸãã以äžã®
æé ã«åŸã£ãŠã€ã³ã¹ããŒã«ããŠãã ããã ç§ã®Linuxã³ã³ãã¥ãŒã¿ãŒã§ã¯ãä¿¡ããããªãã»ã©ç°¡åã§ããã
- ãœãŒã¹ã³ãŒããããŠã³ããŒãããŠãã ããã
- ã€ã³ã¹ããŒã«ã¹ã¯ãªããã®å®è¡ã
- å¿
èŠãªç°å¢å€æ°ãèšå®ããŸãïŒãã®ããã«æäŸãããã·ã§ã«ã¹ã¯ãªããã䜿çšããããšãã§ããŸãïŒã
Intel DAALãGoããã°ã©ã ã«çµ±åããåã«ããã¹ãŠãæ£ããæ©èœããããšã確èªããããšã¯çã«ããªã£ãŠããŸãã ãã®ããã«ã
Intel DAALã®ããã¥ã¡ã³ãã«ããããŸããŸãª
å
¥éã¬ã€ãã䜿çšã§ããŸãã ç¹ã«ããããã®ããã¥ã¢ã«ã¯
ãã³ã¬ã¹ããŒå解ã¢ã«ãŽãªãºã ã® Intel DAALã¢ããªã±ãŒã·ã§ã³ã®äŸãæäŸã
ãŸã ã 以äžã§ã¯ãGoèšèªã§äœæããããšããŸãã C ++ã®ã³ã¬ã¹ããŒå解ã¢ã«ãŽãªãºã ã®æåã®äŸã¯æ¬¡ã®ããã«ãªããŸãã
#include "daal.h" #include <iostream> using namespace daal; using namespace daal::algorithms; using namespace daal::data_management; using namespace daal::services; const size_t dimension = 3; double inputArray[dimension *dimension] = { 1.0, 2.0, 4.0, 2.0, 13.0, 23.0, 4.0, 23.0, 77.0 }; int main(int argc, char *argv[]) { /* Create input numeric table from array */ SharedPtr inputData = SharedPtr(new Matrix(dimension, dimension, inputArray)); /* Create the algorithm object for computation of the Cholesky decomposition using the default method */ cholesky::Batch<> algorithm; /* Set input for the algorithm */ algorithm.input.set(cholesky::data, inputData); /* Compute Cholesky decomposition */ algorithm.compute(); /* Get pointer to Cholesky factor */ SharedPtr<Matrix > factor = staticPointerCast<Matrix, NumericTable>(algorithm.getResult()->get(cholesky::choleskyFactor)); /* Print the first element of the Cholesky factor */ std::cout << "The first element of the Cholesky factor: " << (*factor)[0][0]; return 0; }
ãã®ã³ãŒããã³ã³ãã€ã«ããŠå®è¡ããIntel DAALãæ£åžžã«ã€ã³ã¹ããŒã«ãããŠããããšã確èªããŠãã ããã ããã«ãããã«ãããGoã§äœãããã®ããããããŸãã Intel DAALã®ã€ã³ã¹ããŒã«ã«é¢ãã質åãåé¡ã«ã€ããŠã¯ã
Intel DAALãã©ãŒã©ã ã§è°è«ã§ããŸãïŒå人çã«ã¯ããã®ãã©ãŒã©ã ã¯ãIntel DAALã§äœæ¥ãå§ãããšãã«éåžžã«åœ¹ç«ã€ãªãœãŒã¹ã§ããããšãããããŸããïŒã
Goããã°ã©ã ã§Intel DAALã䜿çšãã
Goããã°ã©ã ã§Intel DAALã©ã€ãã©ãªã䜿çšããããšã«ã€ããŠè©±ããŠããå Žåãããã€ãã®éžæè¢ããããŸãã
- ã©ãããŒé¢æ°ãä»ããŠGoããIntel DAALãçŽæ¥åŒã³åºããŸãã
- ç¹å®ã®Intel DAALæ©èœãåããåå©çšå¯èœãªã©ã€ãã©ãªãäœæããŸãã
以äžã«ããããã®ã¢ãããŒãã®äž¡æ¹ã瀺ããŸãã ãã¹ãŠã®ãœãŒã¹ã³ãŒãã¯
ãã¡ãããå
¥æã§ã
ãŸã ã ããã¯ã»ãã®äžäŸã§ãã æéãçµã€ã«ã€ããŠãIntel DAALã䜿çšããä»ã®Goããã°ã©ã ããã®ãªããžããªã«è¿œå ã§ããã°ãããšæããŸãã å®éšã«ã€ããŠã¯ããåãåãããã ããã ç§ã¯ããªããäœæãããã®ãèŠãŠéåžžã«èå³ããããŸãã
Goã䜿çšããããšããªãå Žåã¯ããã®èšäºãç¶ããåã«ããã®èšèªã«æ
£ããããšããå§ãããŸãã Goã¯ãåŠç¿ãéå§ããããã«ããŒã«ã«ã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ããå¿
èŠãããªãããšã«æ³šæããŠãã ããã
Go on the Internetãš
Go Playground Webãµã€ãã®
玹ä»ãå©çšããŠãæºåãã§ããã
GoãããŒã«ã«ã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ã§ã
ãŸã ã
GoããçŽæ¥Intel DAALã©ã€ãã©ãªãåŒã³åºã
Goã«ã¯ãCã³ãŒããåŒã³åºãGoããã±ãŒãžãäœæã§ãã
cgoãšããããŒã«ã
çšæãããŠããŸããããã®å Žåãcgoã䜿çšããŠGoããã°ã©ã ãšIntel DAALã©ã€ãã©ãªã®çžäºäœçšãæŽçããŸãã
ã¡ãªã¿ã«ãGoããã°ã©ã ã§ã®cgoã®äœ¿çšã«ã¯ãã€ã³ã¿ãŒãããã§ååã«è©³çŽ°ã«è°è«ãããŠããç¹å®ã®å¶éããããŸãïŒç¹ã«ã
Dave Cheneyã«ããè°è«ãŸãã¯Cockroach Labsã«ãã
ãã®èšäºãåç
§ ïŒã cgoã®äœ¿çšã決å®ãããšãã¯ããããã®å¶éãåžžã«èæ
®ã«å
¥ããããå°ãªããšãèŠããŠãããŠãã ããã ãã®å Žåãæé©åãããåæ£ã©ã€ãã©ãªIntel DAALã掻çšããããã«ãcgoã®å¶éã調æŽããæºåãã§ããŠããŸãïŒãããã®å¶éã¯ãé«ãèšç®è² è·ãŸãã¯å€§éã®ããŒã¿ãããç¹å®ã®å Žåã«ããã©ãŒãã³ã¹ãåäžãããã ãã§ååã§ãã
Intel DAALã®Choleskyå解ã¢ã«ãŽãªãºã ãGoããã°ã©ã ã«çµ±åããã«ã¯ã次ã®ãã©ã«ããŒæ§é ãäœæããå¿
èŠããããŸãïŒ
$ GOPATHãã£ã¬ã¯ããªã«ïŒã
cholesky`
âââ cholesky.go`
âââ cholesky.hxx`
âââ cholesky.cxx`
cholesky.goãã¡ã€ã«ã¯ãIntel DAALã©ã€ãã©ãªã®Choleskyå解ã¢ã«ãŽãªãºã ã䜿çšããGoããã°ã©ã ã§ãã cholesky.cxxããã³cholesky.hxxãã¡ã€ã«ã¯ãIntel DAALãå«ãC ++å®çŸ©/宣èšã§ããã䜿çšããIntel DAALæ©èœãcgoã³ã³ãã€ã©ã«äŒããŸãã ããããã«ã€ããŠèããŠã¿ãŸãããã
ãŸãã* .cxxãã¡ã€ã«ã
#include "cholesky.hxx" #include "daal.h" #include <iostream> using namespace daal; using namespace daal::algorithms; using namespace daal::data_management; using namespace daal::services; int choleskyDecompose(int dimension, double inputArray[]) { /* Create input numeric table from array */ SharedPtr inputData = SharedPtr(new Matrix(dimension, dimension, inputArray)); /* Create the algorithm object for computation of the Cholesky decomposition using the default method */ cholesky::Batch<> algorithm; /* Set input for the algorithm */ algorithm.input.set(cholesky::data, inputData); /* Compute Cholesky decomposition */ algorithm.compute(); /* Get pointer to Cholesky factor */ SharedPtr<Matrix > factor = staticPointerCast<Matrix, NumericTable>(algorithm.getResult()->get(cholesky::choleskyFactor)); /* Return the first element of the Cholesky factor */ return (*factor)[0][0]; }
* * .hxxãã¡ã€ã«ã
#ifndef CHOLESKY_H #define CHOLESKY_H
ãããã®ãã¡ã€ã«ã¯ãCholesky Intel DAALå解ã¢ã«ãŽãªãºã ã䜿çšããŠå
¥åè¡åãå解ããCholeskyä¹æ°ã®æåã®èŠçŽ ãåºåããC ++
choleskyDecomposeã©ãããŒé¢æ°ãå®çŸ©ããŸãïŒIntel DAALå
¥éã¬ã€ãã®äŸã®ããã«ïŒã ãã®å Žåãå
¥åããŒã¿ã¯è¡åã®æ¬¡å
ã®é·ãã®é
åã§ããããšã«æ³šæããŠãã ããïŒã€ãŸãã3 x 3ã®è¡åã¯é·ã9ã®å
¥åé
åã«å¯Ÿå¿ããŸãïŒã * .hxxãã¡ã€ã«ã«externâ Câãå«ããå¿
èŠããããŸãã ãã®å ŽåãC ++ã³ã³ãã€ã©ã¯ãC ++ãã¡ã€ã«ã§å®çŸ©ããã察å¿ããååããšã¯ã¹ããŒãããå¿
èŠãããããšããèªèãããŸãã
* .cxxããã³* .hxxãã¡ã€ã«ã§ã³ã¬ã¹ããŒå解ã®ã·ã§ã«é¢æ°ãå®çŸ©ããåŸããã®é¢æ°ãGoããçŽæ¥åŒã³åºãããšãã§ããŸãã cholesky.goã¯æ¬¡ã®ããã«ãªããŸãã
package main
ãã®ããã»ã¹ãã¹ãããããšã«èŠãŠãããã§äœãèµ·ãã£ãŠããã®ããç解ããŸãããã ãŸããããã°ã©ã ãã³ã³ãã€ã«ãããšãã«cgoã䜿çšããå¿
èŠãããããšãGoã«äŒããå¿
èŠããããŸãããŸããç¹å®ã®ãã©ã°ã䜿çšããŠã³ã³ãã€ã«ããå¿
èŠããããŸãã
䜿çšããã«ã¯ãã€ã³ããŒããCããå¿
èŠã§ããããã¯ãcgoã®äœ¿çšãå ±åããæ¬äŒŒããã±ãŒãžã§ãã ã€ã³ããŒãã³ãã³ããCãã®çŽåã«ã³ã¡ã³ããããå Žåããã®ã³ã¡ã³ãïŒããªã¢ã³ãã«ãšåŒã°ããïŒã¯ããã®ããã±ãŒãžã®C ++ã³ã³ããŒãã³ããã³ã³ãã€ã«ãããšãã«ããããŒãšããŠäœ¿çšãããŸãã
CXXFLAGSãš
LDFLAGSã䜿çšããŠãã³ã³ãã€ã«æã«cgoã䜿çšããã³ã³ãã€ã«ãã©ã°ãšãªã³ã¯ãã©ã°ãæå®ãã// #includeâ cholesky.hxxâã䜿çšããŠC ++é¢æ°ãè¿œå ã§ããŸãã ãã®äŸãã³ã³ãã€ã«ããããã«ãé©åãªãã©ã°ã䜿çšããŠäžèšã®ããã«Linuxãšgccã䜿çšããŸããã ãã ãããã®ã¬ã€ãã«åŸã£ãŠãIntel DAALã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ããã«ãããæ¹æ³ã決å®ã§ããŸãã
ãã®åŸãä»ã®ããã°ã©ã ãšåãæ¹æ³ã§Goã³ãŒããèšè¿°ãã
C.choleskyDecomposeïŒïŒãšããŠã©ãããŒé¢æ°ã«ã¢ã¯ã»ã¹ã§ããŸãã
ãã®å Žåã®ç¬èªã®æ©èœïŒcgoã®äœ¿çšã«ããïŒã¯ãé¢æ°ã®float64ã¹ã©ã€ã¹ã®æåã®èŠçŽ ãžã®ãã€ã³ã¿ãŒãå®å
šã§ãªããã€ã³ã¿ãŒã«å€æããå¿
èŠãããããšã§ãã choleskyDecomposeã å®å
šã§ãªããã€ã³ã¿ãŒã«ããã¯ãããšãGoããã°ã©ã ã§æå¹ãªã¿ã€ãã»ãŒããã£ã®å¶éãåé¿ã§ããŸãã
ãããïŒ ãã®ãããIntel DAALã©ã€ãã©ãªã®Choleskyå解ã¢ã«ãŽãªãºã ãšåŒã°ããGoããã°ã©ã ããããŸãã 次ã¯ããã®ããã°ã©ã ããã«ãããŠå®è¡ããŸãã ããã¯ãgo buildã䜿çšããŠéåžžã®æ¹æ³ã§å®è¡ã§ããŸãã
$ ls cholesky.cxx cholesky.go cholesky.hxx $ go build $ ls cholesky cholesky.cxx cholesky.go cholesky.hxx $ ./cholesky The first Cholesky decomp. factor is: 1 $
ãããŠçµæã¯æºåãã§ããŠããŸãïŒ ãã¡ãããã³ã¬ã¹ããŒã®å解ã®æåã®ä¹æ°ã¯1ã§ããIntelDAALã©ã€ãã©ãªãGoããçŽæ¥äœ¿çšããããšã«æåããŸããã ããããGoããã°ã©ã ã¯å®å
šã§ã¯ãªããã€ã³ã¿ãŒãšCã³ãŒãã®æçã§ããªãå¥åŠã«èŠããŸãããããã¯1åéãã®ãœãªã¥ãŒã·ã§ã³ã§ãã 次ã«ãä»ã®Goããã±ãŒãžãšåãæ¹æ³ã§ã€ã³ããŒãã§ãããåå©çšå¯èœãªGoããã±ãŒãžãšåãæ©èœãå®è£
ããŠã¿ãŸãããã
Intel DAALã§åå©çšå¯èœãªGoããã±ãŒãžãäœæãã
Intel DAALæ©èœãå«ãGoããã±ãŒãžãäœæããã«ã¯ã
SWIGããã°ã©ã ã䜿çšããŸãã Goã§ã¯ãcgoã®äœ¿çšã«å ããŠãã¢ã»ã³ããªäžã«SWIGãåŒã³åºããŠãC / C ++æ©èœãå®è£
ããGoããã±ãŒãžãã³ã³ãã€ã«ã§ããŸãã ãã®ãããªã¢ã»ã³ããªã®å Žåã次ã®ãã©ã«ããŒæ§é ãäœæããå¿
èŠããããŸãã
choleskylib
âââ cholesky.go
âââ cholesky.hxx
âââ cholesky.cxx
âââ cholesky.swigcxx
ãã®å Žåã* .cxxããã³* .hxxã·ã§ã«ãã¡ã€ã«ã¯åããŸãŸã§ãã ãã ãã* .swigcxxãã¡ã€ã«ãè¿œå ããå¿
èŠããããŸãã ãã®ãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã
%{ #include "cholesky.hxx" %} %include "cholesky.hxx"
SWIGããã°ã©ã ã¯ãã³ã¬ã¹ããŒå解é¢æ°ã®ã©ãããŒã³ãŒããäœæããŸããããã«ããããã®ã³ãŒããGoããã±ãŒãžãšããŠäœ¿çšã§ããŸãã
ããã«ãïŒã¹ã¿ã³ãã¢ãã³ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãªãïŒåå©çšå¯èœãªGoããã±ãŒãžãäœæããããã* .goãã¡ã€ã«ã«ã¯ããã±ãŒãžmainãŸãã¯é¢æ°mainãå«ãŸããªãå ŽåããããŸãã ããã±ãŒãžã®ååã決å®ããã ãã§ãã ãã®å Žåããããã³ã¬ã¹ããŒãšåŒã³ãŸãããã ããã§cholesky.goã¯æ¬¡ã®ããã«ãªããŸãã
package cholesky
ïŒåã³ãããããŒã§ãã¡ã€ã«ãæå®ããŸããïŒ
ããã§ãããã±ãŒãžããã«ãããŠããŒã«ã«ã«ã€ã³ã¹ããŒã«ã§ããŸãã
$ ls cholesky.cxx cholesky.go cholesky.hxx cholesky.swigcxx $ go install $
ãã®ã³ãã³ãã¯ããã®ããã±ãŒãžã䜿çšããŠGoããã°ã©ã ãã¢ã¯ã»ã¹ããå¿
èŠãªãã¹ãŠã®ãã€ããªãšã©ã€ãã©ãªãã³ã³ãã€ã«ããŸãã ãã©ã«ããŒã«* .swigcxxãã¡ã€ã«ãããããšãã確èªãããSWIGã䜿çšããŠããã±ãŒãžããã«ãããŸãã
ãããïŒ ããã§ãIntel DAALã䜿çšããGoããã±ãŒãžãã§ããŸããã ããã±ãŒãžã®ã€ã³ããŒããšäœ¿çšã®ä»çµã¿ãèŠãŠã¿ãŸãããã
package main import ( "fmt" "github.com/dwhitena/daal-go/choleskylib" ) func main() {
ã¯ã©ã¹ïŒ ãã®ã³ãŒãã¯ãIntel DAALãçŽæ¥äœ¿çšããããããã£ãšãããã§ãã ä»ã®Goããã±ãŒãžãšåæ§ã«ãCholeskyã¢ã«ãŽãªãºã ããã±ãŒãžãã€ã³ããŒãããã©ãããããé¢æ°ã
cholesky.CholeskyDecomposeïŒ...ïŒãšããŠåŒã³åºãããšãã§ã
ãŸã ã ããã«ãå®å
šã§ãªãã³ã³ããŒãã³ãã¯ãã¹ãŠSWIGã§èªåçã«åŠçãããŸããã ããã§ãå
ã®float64ã¹ã©ã€ã¹ã®æåã®èŠçŽ ã®ã¢ãã¬ã¹ã
cholesky.CholeskyDecomposeïŒ...ïŒã«æž¡ãããšãã§ããŸãã
ãã®ããã°ã©ã ã¯ãä»ã®Goããã°ã©ã ãšåæ§ã«ãgo buildã³ãã³ãã§ã³ã³ãã€ã«ããã³å®è¡ã§ããŸãã
$ ls main.go $ go build $ ls example main.go $ ./example The first Cholesky decomp. factor is: 1 $
ãã£ãïŒ ãã¹ãŠæ£ããã§ãã ã³ã¬ã¹ããŒå解ã¢ã«ãŽãªãºã ãå¿
èŠãªå Žåãä»ã®Goããã°ã©ã ã§ãã®ããã±ãŒãžã䜿çšã§ããŸãã
çµè«ãšãªãœãŒã¹
Intel DAALãcgoãSWIGã䜿çšããŠãæé©åãããCholeskyå解ã¢ã«ãŽãªãºã ãGoããã°ã©ã ã«çµ±åããããšãã§ããŸããã ãã¡ãããå¯èœæ§ã¯ãã®ã¢ã«ãŽãªãºã ã ãã«éå®ãããŸããã åæ§ã«ãIntel DAALã«å®è£
ãããŠããä»»æã®ã¢ã«ãŽãªãºã ã䜿çšããããã°ã©ã ãšããã±ãŒãžãGoã§äœæã§ããŸãã Goã¢ããªã±ãŒã·ã§ã³ã§ãããããã€ã³ã¿ã©ã¯ãã£ããããã³åæ£åŠçãã¯ã©ã¹ã¿ãªã³ã°ãã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãã³ãã£ã«ã¿ãªã³ã°ãªã©ã®æ©èœã䜿çšããŠããã¥ãŒã©ã«ãããã¯ãŒã¯ãçŽæ¥äœæã§ããŸãã
äžèšã§äœ¿çšãããã¹ãŠã®ã³ãŒãã¯ã
ããããå
¥æã§ã
ãŸã ã
Goããã°ã©ãã³ã°ãªãœãŒã¹DAALãªãœãŒã¹èè
ã«ã€ããŠ

ãããšã«ïŒ@dwhitenaïŒã¯ãçµéšè±å¯ãªããŒã¿ç 究è
ã§ããå士å·ã§ãPachydermïŒ@pachydermIOïŒã§åããŠããŸãã 圌ã¯ãäºæž¬ã¢ãã«ãããŒã¿ã®èŠèŠåãçµ±èšåæãªã©ã®æ©èœãå«ãææ°ã®åæ£ããŒã¿ãã€ãã©ã€ã³ãéçºããŠããŸãã 圌ã¯äžçäžã®äŒè°ïŒODSCãSpark SummitãDatapaloozaãDevFest SiberiaãGopherCon b lheubtïŒã§è¬æŒããArdan LabsïŒ@ardanlabsïŒã§ããŒã¿ã®èª¿æ»ãšåæãæããJupyterã®Goã³ã¢ããµããŒãããããŸããŸãªãããžã§ã¯ãã®éçºã«ç©æ¥µçã«é¢äžããŠããŸããªãŒãã³ãœãŒã¹ã®ããŒã¿ãã€ãã³ã°ã