Julia
鼠标君
生活就是点点鼠标。
展开
-
Julia的DArray对比SharedArray
SharedArray在共享内存上的速度比DArray快很多。原创 2020-12-17 15:38:23 · 491 阅读 · 0 评论 -
解决JuliaFEM的编译问题
解决using JuliaFEM预编译报错问题。原创 2020-10-17 21:25:42 · 533 阅读 · 0 评论 -
Julia改善性能的若干建议
改进Julia程序性能的几条经验之谈。原创 2020-10-15 03:30:49 · 686 阅读 · 0 评论 -
并行计算示例1:用DistributedArrays.jl做分布式计算
一个用DistributedArrays.jl做分布式计算的示例,供新手参考。原创 2020-09-13 18:10:33 · 573 阅读 · 0 评论 -
在Julia中使用Cxx.jl调用C++共享库
转述自 Cxx.jl 官方文档。假设有一个ArrayMaker.h和ArrayMaker.cpp(或者在Linux上用.cc后缀,等价于.cpp),首先编译为共享库:g++ -shared -fPIC ArrayMaker.cpp -o libarraymaker.so编译结果为一个libarrarmaker.so文件。然后在Julia里调用:# 使用Cxx和Libdlusing...原创 2019-12-14 11:29:50 · 1769 阅读 · 1 评论 -
Julia调用PyFR
PyFR由Python3写成,并且不提供接口,所以我们需要自己动手,改造一番,才能在Julia里调用它的内部函数。上回我们介绍了PyFR的运行示例:二维欧拉涡。在该示例中,有一个转换.msh文件的步骤。如何在Julia调用PyFR实现这个步骤呢?一切开始前,假定你已经安装了Julia的PyCall包,并且读过PyCall的Github项目的readme文档。首先,我们要安装PyFR。这次不是在P...原创 2019-11-19 00:23:17 · 490 阅读 · 0 评论 -
Julia高性能计算实践记录(二)
Sep 1, 2019对于矢量与矢量、矢量与标量间运算,应显式地使用点操作。简单地说,就是Vector.+Vector和Vector.*Scalar要优于Vector+Vector和Vector*Scalar,耗时会减到1/3,内存占用会减到1/7。实践发现Julia的函数速度极快,以至于在某些地方,数组索引反而成了瓶颈。要尽可能减少索引次数,一个显然的途径就是合并索引。例如:f = Fun...原创 2019-09-01 18:53:40 · 381 阅读 · 0 评论 -
轻松掌握Julia的作用域
从Matlab迁移过来的用户会觉得Julia的作用域有点迷。说实话我也绕了几个弯子。为了避免把读者带进概念的漩涡中,本文列举几个典型情况,帮助读者迅速解决作用域的问题。循环体的作用域Matlab的作用域包括一个全局域和各个函数的局部域。Julia相对更繁琐,有一个全局域和许多类型的局部域。循环体就是一种局部域,例如:a = 1for i=1:2 a += 1end会报错ERR...原创 2019-06-23 19:19:17 · 727 阅读 · 1 评论 -
Julia高性能计算实践记录(一)
洋洋洒洒写了5篇博客之后,尝试把理论用于实际,遇到了一些问题。本文是对实战中遇到问题的记录和思考。为了方便理解,把代码做了简化,原理不变。不定时更新,每次更新的日期和内容排在最前面。为叙述简便,把@everywhere广播的对象简称为”广播对象“,例如:广播变量、广播函数等。读者应该已经理解”共享“和”广播“之间的区别。Jun 23, 2019我想做这样一件事:创建一个共享数组W,在一个函数...原创 2019-06-23 15:24:58 · 2133 阅读 · 0 评论 -
Julia并行计算笔记(三)
系列文章(3/5),讲三个方便远程调用的宏命令。原创 2019-06-10 18:34:26 · 1365 阅读 · 0 评论 -
Juli宏的传址特性
今天我遇到了一个比较坑爹的特性。先看下面这个macro的定义:macro InitMat(A,value) # tranlate Expressions to Instances A1 = eval(A) value1 = eval(value) (m,n) = size(A1) for i = 1:m for j = 1:n ...原创 2019-06-19 23:19:47 · 169 阅读 · 1 评论 -
Julia并行计算笔记(二)
系列文章(2/5),讲了怎样把函数或表达式放到远程上运行。原创 2019-06-10 08:44:04 · 2479 阅读 · 0 评论 -
Julia并行计算笔记(一)
系列文章(1/5),讲了三件事:进程是线程的爸爸。协程比线程好用。用通道做协程间数据交换。原创 2019-06-10 08:49:51 · 3995 阅读 · 0 评论 -
Julia并行计算笔记(五)
系列文章(5/5),讲集群管理器,主要针对多机器的集群。原创 2019-06-14 11:23:55 · 1606 阅读 · 0 评论 -
Julia并行计算笔记(四)
系列文章(4/5),讲共享数组。原创 2019-06-13 18:02:02 · 1098 阅读 · 0 评论 -
Julia 1.1.0版本的额外库配置
绘图库Plotly命令有了一点变化。现在变成:在REPL中按 ] 进入pkg模式,输入add Plotly,回车。按Ctrl C退出。(更多内容更新中)原创 2019-05-12 22:42:28 · 721 阅读 · 0 评论 -
Julia 1.1.0 + VS Code配置及报错解决
出现Could not start the julia language server不要慌,看完本文就解决。安装Julia-1.1.0和VS Code,略。在VS Code的扩展商店中安装名为Julia的扩展。在VS Code设置中,填写julia.exe路径,注意要写到exe为止。假如是在json脚本中编辑,记得用\代替\来以正确识别路径。在Windows控制面板-系统-高级系统设置...原创 2019-05-12 22:24:26 · 6109 阅读 · 0 评论 -
Julia-1.0.1 Plots package的安装
] #进入Pkg REPL模式add Plots但出现找不到libGR.dll的问题。所以必须手动安装GR。以下内容参考了这篇反馈的解答。首先输入add GR,安装结束后(速度比较慢)打开C:\用户\用户名\.julia\packages\GR里的deps文件夹,里面应该有一个gr文件夹,路径如下所示。如果没有就自己新建一个gr文件夹。然后去GR官网上下载完整的包,我下载的文件名为g...原创 2018-10-19 05:04:04 · 6478 阅读 · 3 评论