小编Sky*_*ker的帖子

访问未初始化的值会导致性能下降吗?

我正在优化矩阵数值热点.

目前,我正在进行阻塞和循环展开以提高性能.但是,我故意避免剥掉边界.相反,我让阻塞步骤溢出,当然,算法然后触及未初始化的值.

然而,矩阵被慷慨地预先分配以应对溢出,所以我实际上并不是非法访问内存位置.

剥皮有几个原因:

  • 怠惰
  • 由于剥离边框的非常糟糕的位置,性能受到打击.
  • 避免复杂的边框剥离代码.

但是,我想知道这些触及未初始化值的溢出访问是否会导致性能下降?

我可以预见地知道未初始化的访问发生在哪里,并且它们也通过valgrind报告.我还使用英特尔的VTune对代码进行了分析,并且看不出有任何迹象表明由此导致的性能下降.

c++ optimization performance initialization micro-optimization

3
推荐指数
1
解决办法
194
查看次数

CMake find_library找不到库

我提出了以下超级简单的FindMAGMA.cmake脚本来查找MAGMA库,因为周围没有:

# - Find the MAGMA library
#
# Usage:
#   find_package(MAGMA [REQUIRED] [QUIET] )
#
# It sets the following variables:
#   MAGMA_FOUND               ... true if magma is found on the system
#   MAGMA_LIBRARY_DIRS        ... full path to magma library
#   MAGMA_INCLUDE_DIRS        ... magma include directory
#   MAGMA_LIBRARIES           ... magma libraries
#
# The following variables will be checked by the function
#   MAGMA_USE_STATIC_LIBS     ... if true, only static libraries are found
#   MAGMA_ROOT                ... if set, the libraries …
Run Code Online (Sandbox Code Playgroud)

cmake magma

3
推荐指数
1
解决办法
1万
查看次数

如何矢量化提取重要的预测变量?

我跑glm了,结果好了.现在我想得到那些在95%显着的预测因子的名称,即p值小于或等于显着性水平5e-2.我跑:

fit <- glm(data=dfa, formula=response~.)
sig <- summary(fit)$coefficients[,4]

 (Intercept)       close0       close1       close2       close3       close4      closema        open0 
0.000000e+00 3.147425e-19 7.210909e-04 1.046019e-02 4.117580e-03 2.778701e-01 2.829958e-05 0.000000e+00 
       open1        open2        open3        open4       openma         low0         low1         low2 
8.627202e-30 1.138499e-02 1.112236e-03 7.422145e-03 3.967735e-03 3.036329e-42 3.033847e-05 3.237155e-01 
        low3         low4        lowma        high0        high1        high2        high3        high4 
8.198750e-01 6.647138e-02 4.350488e-05 6.177130e-58 2.625192e-02 4.143373e-01 3.964651e-01 3.694272e-01 
      highma      volume0      volume1      volume2      volume3      volume4     volumema 
1.416310e-05 8.027502e-02 1.975302e-01 1.630341e-09 8.979313e-03 1.274195e-06 8.246661e-01

> str(sig)
  Named num [1:31] 0.00 3.15e-19 7.21e-04 …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
139
查看次数

错误的Boost Log时间戳格式

我正在使用Boost 1.54 Log并以下列方式初始化我的日志记录:

namespace logging = boost::log;
namespace src = boost::log::sources;
namespace expr = boost::log::expressions;
namespace sinks = boost::log::sinks;
namespace attrs = boost::log::attributes;
namespace keywords = boost::log::keywords;

BOOST_LOG_ATTRIBUTE_KEYWORD(line_id, "LineID", unsigned int)
BOOST_LOG_ATTRIBUTE_KEYWORD(severity, "Severity", severity_level)
BOOST_LOG_ATTRIBUTE_KEYWORD(tag_attr, "Tag", std::string)
BOOST_LOG_ATTRIBUTE_KEYWORD(timestamp, "TimeStamp", boost::posix_time::ptime)

logging::add_common_attributes();
boost::shared_ptr<logging::core> core = logging::core::get();

// setup console log
logging::add_console_log (
    std::clog,
    keywords::filter = severity >= debug,
    keywords::format = (
        expr::stream << expr::format_date_time(timestamp, "%Y-%m-%d %H:%M:%S") <<
            line_id << " [" << severity << "] " << expr::smessage
    )
);
Run Code Online (Sandbox Code Playgroud)

这是生成的输出的示例: …

c++ logging boost boost-log

3
推荐指数
1
解决办法
2791
查看次数

我们应该在不同的调用中重用cublasHandle_t吗?

我使用的是最新版本CUDA 5.5和新CUBLAS有状态的味道,每一个功能需要一个cublasHandle_t

  cublasHandle_t handle;
  cublasCreate_v2(&handle);
  cublasDgemm_v2(handle, A_trans, B_trans, m, n, k, &alpha, d_A, lda, d_B, ldb, &beta, d_C, ldc);
  cublasDestroy_v2(handle);
Run Code Online (Sandbox Code Playgroud)

像某种类型那样尽可能多地重用这个句柄实例是一个好习惯,Session或者性能影响是如此之小以至于通过使用短生存句柄实例来降低代码复杂性更有意义,因此不断创建/销毁它?

cuda cublas

3
推荐指数
1
解决办法
1780
查看次数

Scala如何将Map转换为元组的varargs?

在Scala Play 2.2.x测试的上下文中,我有一个Map[String, String]我需要传递给一个接受(String, String)*(String, String)元组varargs的函数.

例如

val data : Map[String, String] = Map("value" -> "25", "id" -> "", "columnName" -> "trades")
route(FakeRequest(POST, "/whatever/do").withFormUrlEncodedBody(data))
Run Code Online (Sandbox Code Playgroud)

但这会导致类型不匹配,因为withFormUrlEncodedBody只接受一种(String, String)*类型.

scala playframework

3
推荐指数
1
解决办法
1060
查看次数

Knockoutjs错误:您无法多次将绑定应用于同一元素

我正在尝试自动填充我无法更改的现有网页中的元素,该页面使用Knockoutjs.input元素或多或少看起来像这样:

<input maxlength="8" id="xxx" data-bind="textInput: otcInput" type="tel">
Run Code Online (Sandbox Code Playgroud)

然后我使用Knockoutjs尝试取消绑定textInput并使用我需要的任何值动态填充输入元素,所以我这样做:

ko.cleanNode($('#xxx'));
ko.applyBindings({
    otcInput: ko.observable("123") // populate myself
});
Run Code Online (Sandbox Code Playgroud)

但是,这会导致错误You cannot apply bindings multiple times to the same element......问题是为什么?我已经在清理节点......或者我不是吗?是否有一种方法可以使用knockoutjs来查看在尝试执行"覆盖"时是否存在悬挂的绑定或残留物ko.applyBindings

我也尝试过其他方法通过JQuery sendkeys插件设置输入值,但没有成功

$('#xxx').sendkeys('123'); // nothing happens
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

$('#xxx').unbind();
$('#xxx').off();
$('#xxx').sendkeys('123'); // but again nothing happens
Run Code Online (Sandbox Code Playgroud)

html javascript jquery knockout.js

3
推荐指数
1
解决办法
2191
查看次数

Scalatest:应该是带有额外描述的匹配器吗?

我有一个org.scalatest.FunSpec with org.scalatest.Matchers测试可以执行以下操作,例如

val tol = 1e-10
val res = 1.000000000000001
val ref = 1.000000000000000
res should be (ref +- tol)
Run Code Online (Sandbox Code Playgroud)

但它在按名称键入的多个案例的循环中执行此操作,当然我无法更改测试代码的粒度,因此我得到了与这些名称关联的值的集合。因此,对于上面的测试,我需要放置额外的上下文或额外的描述name来反映它适用的名称。我需要类似的东西:

val name : String = ...
res should be (ref +- tol) for name
Run Code Online (Sandbox Code Playgroud)

此时我无法使用itand因为它们已经在外面了。describe

scala scalatest

3
推荐指数
1
解决办法
918
查看次数

有没有一种简单的方法可以在Python中将数据库数据从SQLite逐表迁移到Postgres?

Python 中有没有一种简单的方法可以从 SQLite 逐表迁移到 Postgres?我正在使用 Peewee,可以生成 SQLite 转储,但没有可用于导入到 Postgres 的 psql。Python 中有一个包可以实现这个功能吗?我还使用 Peewee 作为 ORM,并且涵盖了生成模式位,问题是数据。

数据库有点大,1.3gb

python sqlite postgresql peewee

3
推荐指数
1
解决办法
4829
查看次数

如何解决SBT崩溃:java.lang.NumberFormatException:对于输入字符串:“ 0x100”?

我在Ubuntu 18.04上安装并sbt使用常规安装apt-get install sbt,到目前为止,它可用于所有项目,不知道它获得的版本。然后,我克隆了项目https://github.com/aishfenton/Argus,无论我做什么sbt都会崩溃。

我下载并安装了最新版本,sbt但仍然遇到以下崩溃:

skywalker@Zeus:~/code$ java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
skywalker@Zeus:~/code$ which sbt
/opt/dev/sbt/1.2.8/bin/sbt
skywalker@Zeus:~/code$ git clone https://github.com/aishfenton/Argus
Cloning into 'Argus'...
remote: Enumerating objects: 622, done.
remote: Total 622 (delta 0), reused 0 (delta 0), pack-reused 622
Receiving objects: 100% (622/622), 140.72 KiB | 602.00 KiB/s, done.
Resolving deltas: 100% (225/225), done.
skywalker@Zeus:~/code$ cd Argus
skywalker@Zeus:~/code/Argus$ …
Run Code Online (Sandbox Code Playgroud)

linux crash ubuntu scala sbt

2
推荐指数
1
解决办法
387
查看次数