小编Ant*_*uve的帖子

LLVM执行哪种优化?

我想具体了解LLVM的各种优化级别对应的内容.

也就是说,我想知道哪些优化传递是完全执行的(在前端之外)以及当我使用llvm(或clang或opt)的"-0x"选项时的顺序.相应工具的"人"没有提供关于此事的大量信息(对于gcc的对话).

我知道这个有用的页面:http://llvm.org/docs/Passes.html,但它没有提供有关"-Ox"选项的任何信息.我正在寻找一些调试或冗长的选项(尤其是使用"opt --help"中的信息),但我找不到任何有用的选项.

作为补充,我注意到通过解析代码,所有各种LLVM工具以及clang使用不同的驱动程序,这些驱动程序以自己的方式解析选项.所有这些驱动程序是否与"-Ox"选项相似?

编辑:我为"opt"工具找到了"-debug-pass = Arguments"选项,它为选项"O1"提供了以下输出:

Pass Arguments:  -targetdata -no-aa -tbaa -targetlibinfo -basicaa -simplifycfg -domtree -scalarrepl -early-cse -lower-expect
Pass Arguments:  -targetlibinfo -targetdata -no-aa -tbaa -basicaa -globalopt -ipsccp -deadargelim -instcombine -simplifycfg -basiccg -prune-eh -always-inline -functionattrs -scalarrepl-ssa -domtree -early-cse -simplify-libcalls -lazy-value-info -jump-threading -correlated-propagation -simplifycfg -instcombine -tailcallelim -simplifycfg -reassociate -domtree -loops -loop-simplify -lcssa -loop-rotate -licm -lcssa -loop-unswitch -instcombine -scalar-evolution -loop-simplify -lcssa -iv-users -indvars -loop-idiom -loop-deletion -loop-unroll -memdep -memcpyopt -sccp -instcombine -lazy-value-info -jump-threading -correlated-propagation -domtree -memdep -dse -adce -simplifycfg …
Run Code Online (Sandbox Code Playgroud)

optimization llvm

11
推荐指数
1
解决办法
6447
查看次数

在OpenLayers3中使用Semantic-UI(或Font Awesome)图标作为标记

有没有办法使用Semantic UI或FontAwseome中的图标作为OpenLayers3中的标记图标?

OpenLayers具有功能样式文本,可以按如下方式使用:

var blackFill   = new ol.style.Fill({color: 'black'})
var whiteStroke = new ol.style.Stroke({color: 'white', width: 1})
var iconText    = new ol.style.Text({font: "<my font>", text: "<some string>", fill: blackFill, stroke: whiteStroke })
var featureStyle = new ol.style.Style({ text: iconText });
Run Code Online (Sandbox Code Playgroud)

在检查语义UI元素的样式后,我发现它使用"Icons"作为font-family和转义字符来选择符号(例如"\ f073"用于日历图标); 因此我尝试了(我的页面的head部分包含Semantic-UI的css):

var iconText    = new ol.style.Text({font: "Icons", text: "\f073", fill: blackFill, stroke: whiteStroke })
Run Code Online (Sandbox Code Playgroud)

这只是写"\ f073"作为标记.我尝试使用"",就像我在HTML中所做的那样,但这显示了相同的行为(它写了"")我也尝试了"\ uf073",这显示了一些死亡的方块表示一个未知的字符.

有什么建议吗?

font-awesome semantic-ui openlayers-3

8
推荐指数
2
解决办法
5640
查看次数

Julia中大数据的并行计算

首先我的问题:

  • 是否有可能阻止Julia每次在并行for循环中复制变量?
  • 如果没有,如何在Julia中实现并行减少操作?

现在的细节:

我有这个程序:

data = DataFrames.readtable("...") # a big baby (~100MB)
filter_functions = [ fct1, fct2, fct3 ... ] # (x::DataFrame) -> y::DataFrame
filtered_data = @parallel vcat for fct in filter_functions
  fct(data)::DataFrame
end
Run Code Online (Sandbox Code Playgroud)

它的功能很好,但是对另一个worker的fct(data)的每次并行调用都会复制整个数据框,使得一切都变得非常缓慢.

理想情况下,我想加载一次数据,并始终在每个工作程序上使用预先加载的数据.我想出了这样的代码:

@everywhere data = DataFrames.readtable("...") # a big baby (~100MB)
@everywhere filter_functions = [ fct1, fct2, fct3 ... ] # (x::DataFrame) -> y::DataFrame
@everywhere for i in 1:length(filter_functions)
  if (myid()-1) % nworkers()
    fct = filter_functions[i]
    filtered_data_temp = fct(data)
  end
  # How to vcat all …
Run Code Online (Sandbox Code Playgroud)

parallel-processing julia

8
推荐指数
2
解决办法
1099
查看次数

无法使用rgp执行任何符号回归

我有这个简单的代码:

library(rgp)
df1 <- data.frame(x=1:10, y=sin(1:10))
grp.model <- symbolicRegression(y ~ x, df1, functionSet=functionSet("sin"))
Run Code Online (Sandbox Code Playgroud)

当我执行时,我得到了错误

STARTING genetic programming evolution run (Age/Fitness/Complexity Pareto GP search-heuristic) ...
Error in mse(x, y) : Argument 's_y' is not a real vector.
Run Code Online (Sandbox Code Playgroud)

我已经尝试过https://cran.r-project.org/web/packages/rgp/vignettes/rgp_introduction.pdf中的示例,但所有示例都给出了无意义的常量函数.

我究竟做错了什么 ?

我使用R版本3.1.2与rgp_0.4-1.

干杯.

r

7
推荐指数
1
解决办法
475
查看次数

用许多行写入数据帧非常慢

让我们考虑以下三个数据框:

toto.small  <- data.frame(col1=rep(1,850), col2=rep(2,850))
toto.medium <- data.frame(col1=rep(1,85000), col2=rep(2,85000))
toto.big    <- data.frame(col1=rep(1,850000), col2=rep(2,850000))
Run Code Online (Sandbox Code Playgroud)

以下时间:

system.time(for(i in 1:100) { toto.small[i,2] <- 3 })
user  system elapsed 
0.004   0.000   0.006 

system.time(for(i in 1:100) { toto.medium[i,2] <- 3 })
user  system elapsed 
0.088   0.000   0.087 

system.time(for(i in 1:100) { toto.big[i,2] <- 3 })
user  system elapsed 
2.248   0.000   2.254 
Run Code Online (Sandbox Code Playgroud)

迭代大数据帧的两个命令要慢一些.那些循环只是在内存中写入100个预先分配的元素; 时间甚至不应该取决于数据帧的总长度.

有谁知道这个的原因?

我仍然得到与数据表以及应用函数类似的时间差异.

编辑1:R 3.0.2对比R 3.1

对于那些好奇的人来说,data.table和data.frame的时间安排为R v.3.1和3.0.2(我每次测量3次):

R 3.0.2

      type   size time1 time2 time3
data frame  small 0.005 0.005 0.005
data frame …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
1
解决办法
627
查看次数