Soumettre la recherche
Mettre en ligne
COSCUP: Foreign Function Call in Julia
•
1 j'aime
•
166 vues
岳華 杜
Suivre
20180811 COSCUP Speaker: 林峻頤 (Iblis Lin)
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 36
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
D vs OWKN Language at LLnagoya
D vs OWKN Language at LLnagoya
N Masahiro
Cython - close to metal Python
Cython - close to metal Python
Taras Lyapun
Quines—Programming your way back to where you were
Quines—Programming your way back to where you were
Jean-Baptiste Mazon
C introduction by piyushkumar
C introduction by piyushkumar
piyush Kumar Sharma
Shared Memory Parallelism with Python by Dr.-Ing Mike Muller
Shared Memory Parallelism with Python by Dr.-Ing Mike Muller
PyData
Lecture03
Lecture03
elearning_portal
How to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatter
Yoshifumi Kawai
Boost.Python: C++ and Python Integration
Boost.Python: C++ and Python Integration
GlobalLogic Ukraine
Recommandé
D vs OWKN Language at LLnagoya
D vs OWKN Language at LLnagoya
N Masahiro
Cython - close to metal Python
Cython - close to metal Python
Taras Lyapun
Quines—Programming your way back to where you were
Quines—Programming your way back to where you were
Jean-Baptiste Mazon
C introduction by piyushkumar
C introduction by piyushkumar
piyush Kumar Sharma
Shared Memory Parallelism with Python by Dr.-Ing Mike Muller
Shared Memory Parallelism with Python by Dr.-Ing Mike Muller
PyData
Lecture03
Lecture03
elearning_portal
How to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatter
Yoshifumi Kawai
Boost.Python: C++ and Python Integration
Boost.Python: C++ and Python Integration
GlobalLogic Ukraine
Prepostinfix
Prepostinfix
MohitKumawat27
Extending Python - EuroPython 2014
Extending Python - EuroPython 2014
fcofdezc
The Big Three
The Big Three
Roman Okolovich
1.3 core programming [identify the appropriate method for handling repetition]
1.3 core programming [identify the appropriate method for handling repetition]
tototo147
Lowcode: Redoing NativeBoost Portably
Lowcode: Redoing NativeBoost Portably
ESUG
tokyotalk
tokyotalk
Hiroshi Ono
History of c++
History of c++
Ihsan Wassan
C Under Linux
C Under Linux
mohan43u
Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / Overview
Markus Schneider
Dive into CPython Bytecode
Dive into CPython Bytecode
Alex Gaynor
GCC, GNU compiler collection
GCC, GNU compiler collection
Alberto Bustamante Reyes
Why my Go program is slow?
Why my Go program is slow?
Inada Naoki
WAP to initialize different objects with different values in java
WAP to initialize different objects with different values in java
One97 Communications Limited
GCC compiler
GCC compiler
Anil Pokhrel
Cc 16
Cc 16
Web Developer
coala demo
coala demo
Rishav Kumar
Integrating R with C++: Rcpp, RInside and RProtoBuf
Integrating R with C++: Rcpp, RInside and RProtoBuf
Romain Francois
Writing a Python C extension
Writing a Python C extension
Sqreen
[C++ Korea] Effective Modern C++ Study item 34 36
[C++ Korea] Effective Modern C++ Study item 34 36
Seok-joon Yun
Solid C++ by Example
Solid C++ by Example
Olve Maudal
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python Extensions
Henry Schreiner
MLOps Case Studies: Building fast, scalable, and high-accuracy ML systems at ...
MLOps Case Studies: Building fast, scalable, and high-accuracy ML systems at ...
Masashi Shibata
Contenu connexe
Tendances
Prepostinfix
Prepostinfix
MohitKumawat27
Extending Python - EuroPython 2014
Extending Python - EuroPython 2014
fcofdezc
The Big Three
The Big Three
Roman Okolovich
1.3 core programming [identify the appropriate method for handling repetition]
1.3 core programming [identify the appropriate method for handling repetition]
tototo147
Lowcode: Redoing NativeBoost Portably
Lowcode: Redoing NativeBoost Portably
ESUG
tokyotalk
tokyotalk
Hiroshi Ono
History of c++
History of c++
Ihsan Wassan
C Under Linux
C Under Linux
mohan43u
Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / Overview
Markus Schneider
Dive into CPython Bytecode
Dive into CPython Bytecode
Alex Gaynor
GCC, GNU compiler collection
GCC, GNU compiler collection
Alberto Bustamante Reyes
Why my Go program is slow?
Why my Go program is slow?
Inada Naoki
WAP to initialize different objects with different values in java
WAP to initialize different objects with different values in java
One97 Communications Limited
GCC compiler
GCC compiler
Anil Pokhrel
Cc 16
Cc 16
Web Developer
coala demo
coala demo
Rishav Kumar
Integrating R with C++: Rcpp, RInside and RProtoBuf
Integrating R with C++: Rcpp, RInside and RProtoBuf
Romain Francois
Writing a Python C extension
Writing a Python C extension
Sqreen
[C++ Korea] Effective Modern C++ Study item 34 36
[C++ Korea] Effective Modern C++ Study item 34 36
Seok-joon Yun
Solid C++ by Example
Solid C++ by Example
Olve Maudal
Tendances
(20)
Prepostinfix
Prepostinfix
Extending Python - EuroPython 2014
Extending Python - EuroPython 2014
The Big Three
The Big Three
1.3 core programming [identify the appropriate method for handling repetition]
1.3 core programming [identify the appropriate method for handling repetition]
Lowcode: Redoing NativeBoost Portably
Lowcode: Redoing NativeBoost Portably
tokyotalk
tokyotalk
History of c++
History of c++
C Under Linux
C Under Linux
Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / Overview
Dive into CPython Bytecode
Dive into CPython Bytecode
GCC, GNU compiler collection
GCC, GNU compiler collection
Why my Go program is slow?
Why my Go program is slow?
WAP to initialize different objects with different values in java
WAP to initialize different objects with different values in java
GCC compiler
GCC compiler
Cc 16
Cc 16
coala demo
coala demo
Integrating R with C++: Rcpp, RInside and RProtoBuf
Integrating R with C++: Rcpp, RInside and RProtoBuf
Writing a Python C extension
Writing a Python C extension
[C++ Korea] Effective Modern C++ Study item 34 36
[C++ Korea] Effective Modern C++ Study item 34 36
Solid C++ by Example
Solid C++ by Example
Similaire à COSCUP: Foreign Function Call in Julia
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python Extensions
Henry Schreiner
MLOps Case Studies: Building fast, scalable, and high-accuracy ML systems at ...
MLOps Case Studies: Building fast, scalable, and high-accuracy ML systems at ...
Masashi Shibata
PyHEP 2018: Tools to bind to Python
PyHEP 2018: Tools to bind to Python
Henry Schreiner
An Introduction to PC-Lint
An Introduction to PC-Lint
Ralf Holly
Brief Introduction to Cython
Brief Introduction to Cython
Aleksandar Jelenak
Cross Platform App Development with C++
Cross Platform App Development with C++
Joan Puig Sanz
GNU Compiler Collection - August 2005
GNU Compiler Collection - August 2005
Saleem Ansari
20145-5SumII_CSC407_assign1.htmlCSC 407 Computer Systems II.docx
20145-5SumII_CSC407_assign1.htmlCSC 407 Computer Systems II.docx
eugeniadean34240
C Programming Tutorial - www.infomtec.com
C Programming Tutorial - www.infomtec.com
M-TEC Computer Education
Tdd with python unittest for embedded c
Tdd with python unittest for embedded c
Benux Wei
Getting Started Cpp
Getting Started Cpp
Long Cao
Python Bindings Overview
Python Bindings Overview
Sébastien Tandel
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
LogeekNightUkraine
C_CPP 初级实物
C_CPP 初级实物
晟 沈
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Douglas Chen
Gentle introduction to modern C++
Gentle introduction to modern C++
Mihai Todor
Building C and C++ libraries with Perl
Building C and C++ libraries with Perl
Alberto Simões
L6
L6
lksoo
C programming session 01
C programming session 01
Vivek Singh
Introduction to cython
Introduction to cython
John(Qiang) Zhang
Similaire à COSCUP: Foreign Function Call in Julia
(20)
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python Extensions
MLOps Case Studies: Building fast, scalable, and high-accuracy ML systems at ...
MLOps Case Studies: Building fast, scalable, and high-accuracy ML systems at ...
PyHEP 2018: Tools to bind to Python
PyHEP 2018: Tools to bind to Python
An Introduction to PC-Lint
An Introduction to PC-Lint
Brief Introduction to Cython
Brief Introduction to Cython
Cross Platform App Development with C++
Cross Platform App Development with C++
GNU Compiler Collection - August 2005
GNU Compiler Collection - August 2005
20145-5SumII_CSC407_assign1.htmlCSC 407 Computer Systems II.docx
20145-5SumII_CSC407_assign1.htmlCSC 407 Computer Systems II.docx
C Programming Tutorial - www.infomtec.com
C Programming Tutorial - www.infomtec.com
Tdd with python unittest for embedded c
Tdd with python unittest for embedded c
Getting Started Cpp
Getting Started Cpp
Python Bindings Overview
Python Bindings Overview
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
C_CPP 初级实物
C_CPP 初级实物
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Gentle introduction to modern C++
Gentle introduction to modern C++
Building C and C++ libraries with Perl
Building C and C++ libraries with Perl
L6
L6
C programming session 01
C programming session 01
Introduction to cython
Introduction to cython
Plus de 岳華 杜
[COSCUP 2023] 我的Julia軟體架構演進之旅
[COSCUP 2023] 我的Julia軟體架構演進之旅
岳華 杜
Julia: The language for future
Julia: The language for future
岳華 杜
The Language for future-julia
The Language for future-julia
岳華 杜
20190907 Julia the language for future
20190907 Julia the language for future
岳華 杜
Metaprogramming in julia
Metaprogramming in julia
岳華 杜
Introduction to julia
Introduction to julia
岳華 杜
自然語言處理概覽
自然語言處理概覽
岳華 杜
Introduction to machine learning
Introduction to machine learning
岳華 杜
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
岳華 杜
Batch normalization 與他愉快的小伙伴
Batch normalization 與他愉快的小伙伴
岳華 杜
從 VAE 走向深度學習新理論
從 VAE 走向深度學習新理論
岳華 杜
COSCUP: Metaprogramming in Julia
COSCUP: Metaprogramming in Julia
岳華 杜
COSCUP: Introduction to Julia
COSCUP: Introduction to Julia
岳華 杜
Introduction to Julia
Introduction to Julia
岳華 杜
20180506 Introduction to machine learning
20180506 Introduction to machine learning
岳華 杜
20171127 當julia遇上資料科學
20171127 當julia遇上資料科學
岳華 杜
20171117 oop and design patterns in julia
20171117 oop and design patterns in julia
岳華 杜
20171014 tips for manipulating filesystem in julia
20171014 tips for manipulating filesystem in julia
岳華 杜
20170807 julia的簡單而高效資料處理
20170807 julia的簡單而高效資料處理
岳華 杜
20170715 北Bio meetup
20170715 北Bio meetup
岳華 杜
Plus de 岳華 杜
(20)
[COSCUP 2023] 我的Julia軟體架構演進之旅
[COSCUP 2023] 我的Julia軟體架構演進之旅
Julia: The language for future
Julia: The language for future
The Language for future-julia
The Language for future-julia
20190907 Julia the language for future
20190907 Julia the language for future
Metaprogramming in julia
Metaprogramming in julia
Introduction to julia
Introduction to julia
自然語言處理概覽
自然語言處理概覽
Introduction to machine learning
Introduction to machine learning
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Semantic Segmentation - Fully Convolutional Networks for Semantic Segmentation
Batch normalization 與他愉快的小伙伴
Batch normalization 與他愉快的小伙伴
從 VAE 走向深度學習新理論
從 VAE 走向深度學習新理論
COSCUP: Metaprogramming in Julia
COSCUP: Metaprogramming in Julia
COSCUP: Introduction to Julia
COSCUP: Introduction to Julia
Introduction to Julia
Introduction to Julia
20180506 Introduction to machine learning
20180506 Introduction to machine learning
20171127 當julia遇上資料科學
20171127 當julia遇上資料科學
20171117 oop and design patterns in julia
20171117 oop and design patterns in julia
20171014 tips for manipulating filesystem in julia
20171014 tips for manipulating filesystem in julia
20170807 julia的簡單而高效資料處理
20170807 julia的簡單而高效資料處理
20170715 北Bio meetup
20170715 北Bio meetup
Dernier
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boston Institute of Analytics
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
The Digital Insurer
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Dernier
(20)
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
COSCUP: Foreign Function Call in Julia
1.
Julia FFI
2.
我們不想放棄原有的 code
3.
Calling C from Julia
4.
還是有很多已存在的 C library
5.
`ccall`
6.
try out printf
from libc
7.
Other C Types: Cstring,
Cint, C* ...
8.
Other C Types: Ptr{...},
Ref{...}
9.
`ccall` 時有 auto type
convert Base.cconvert Base.unsafe_convert
10.
typeof(Base.cconvt(Cint, 42)) Int32
11.
x = Cint[1,
2, 3] Base.unsafe_convert(Prt{Int64},x)
12.
try out custom
libfoo cc -shared -o libfoo.so foo.c
13.
Memory Ownership 自己的東西自己 Free
14.
來寫個 swap 看看
15.
比其他語言簡潔的 Glue Code
16.
接 C function
已經很簡單了 但還是存在缺陷
17.
C macro 接不出來
18.
Other helper: Clang.jl https://github.com/ihnorton/Clang.jl
19.
Calling Python
20.
PyCall.jl https://github.com/JuliaPy/PyCall.jl
21.
PyPlot.jl Pandas.jl ...
22.
@pyimport numpy as
np
23.
@btime np.arange(1, 11) vs @btime collect(1:10)
24.
py”...” eval()
25.
py””” import sys sys.path.append(‘.’) print(sys.path) “”” 先來改 sys.path
26.
py”...” with interpolation
27.
pycall 這個吃 PyObject 的
pointer
28.
pybuiltin() pyprint = pybuiltin(“print”) @pycall
pyprint(“hello pycall”)::Void
29.
@pydef define python class
in Julia
30.
pyjulia https://github.com/JuliaPy/pyjulia
31.
Current no Py36
support
32.
Other Language?
33.
RCall.jl https://github.com/JuliaInterop/RCall.jl
34.
MATLAB.jl https://github.com/JuliaInterop/MATLAB.jl
35.
Mathematica.jl https://github.com/JuliaInterop/Mathematica.jl
36.
Q & A
Télécharger maintenant