小编pet*_*hka的帖子

PyOpenCl:如何调试分段错误?

我有使用OpenCL C内核代码的PyOpenCL代码.我运行我的应用程序时捕获分段错误错误.如何使用某些调试器或其他一些开发工具调试此类错误?我不知道究竟要做什么来找出问题所在.我想到选择printf或什么,但我想使用更强大的东西.

我相信内核代码中的错误,所以我想先调试内核代码.

UPD.我在linux(Arch Linux,3.6.11),python 2或3,PyOpenCl 2012.1上

python debugging opencl segmentation-fault pyopencl

15
推荐指数
1
解决办法
1688
查看次数

如何在与主机内核和GPU驱动程序版本不同的docker镜像中运行GPGPU

我有几台GPU的机器.我的想法是将它们附加到不同的docker实例,以便在CUDA(或OpenCL)计算中使用这些实例.

我的目标是使用相当老的Ubuntu和相当老的AMD视频驱动程序(13.04)设置docker镜像.原因很简单:升级到更新版本的驱动程序将破坏我的OpenCL程序(由于有缺陷的AMD Linux驱动程序).

所以问题是如下.是否可以使用旧的Ubuntu,旧内核(例如3.14)和旧的AMD(fglrx)驱动程序在新的Arch Linux安装程序中运行docker镜像,并fglrx在存储库中安装新的内核4.2和更新的AMD()驱动程序?

PS我尝试了这个答案(使用Nvidia卡),不幸的是deviceQuery在docker图像中没有看到任何CUDA设备(因为它发生了一些原始答案的评论员)...

PPS我的设置:

  1. CPU:Intel Xeon E5-2670
  2. GPU的:

    • 1 x Radeon HD 7970

       $ lspci -nn | grep Rad
         83:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] [1002:6798]
         83:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT HDMI Audio [Radeon HD 7970 Series] [1002:aaa0]
      
      Run Code Online (Sandbox Code Playgroud)
    • 2 x GeForce GTX Titan Black

gpu gpgpu docker

15
推荐指数
1
解决办法
1242
查看次数

Rails,Capybara和子域名:如何访问某些子域名

Rails 3,Cucumber 0.9.4,Capybara 0.4.0

我想用子域测试我的功能.我找到了解决方案:

Given /^I visit subdomain "(.+)"$/ do |sub|
  Capybara.default_host = "#{sub}.example.com" #for Rack::Test
  Capybara.app_host = "http://#{sub}.example.com:9887" if Capybara.current_driver == :culerity
end
Run Code Online (Sandbox Code Playgroud)

它运行,如果我运行,cucumber features/subdomain.feature但如果我运行它失败cucumber features!这是令人难以置信的,但这是真的.我记录当前的URL,这是subdomain.example.comcucumber features/subdomain.featurewww.example.comcucumber features与一个场景

Scenario: subdomain scenario
  Given I visit subdomain "subdomain"
Run Code Online (Sandbox Code Playgroud)

在这两种情况下!

我不知道原因......

有没有最好的方法来测试带有水豚的子域名?

subdomain integration-testing cucumber capybara ruby-on-rails-3

14
推荐指数
2
解决办法
5309
查看次数

Rspec,Cucumber:最佳速度数据库清洁策略

我想提高测试的速度.

  1. 我应该使用use_transactional_fixtures或使用database_cleaner宝石吗?
  2. 哪种database_cleaner策略最好?我注意到从迁移:truncation:transaction我的800多个例子后运行速度快了4倍!
  3. use_transactional_fixtures我使用database_cleaner时应该关闭:transaction吗?
  4. Rack_test的最佳策略是真的:transaction吗?
  5. 什么是自随时改变策略的最佳实践:transaction:truncation使用硒或当akephalos

PS Mysql,Rails 3,Rspec2,Cucumber

PPS我知道sporkparallel_test并使用它们.但他们是偏离主义的.例如,叉勺节省整个套件运行约15-20秒,而从改变:transaction:truncation显着增加从3.5到13.5分钟(10分钟差)运行时间.

database performance rspec ruby-on-rails cucumber

14
推荐指数
3
解决办法
3890
查看次数

Rails:将加密数据存储在数据库中

我想加密数据库,因为存储了机密数据.我用mongodb和mongoid.这种数据库有可能吗?如果不是,你可以推荐哪些替代方案?

PS主要目的是:如果有人破解服务器并窃取数据库,那将是无法加密的.

更新:感谢nickh,我发现ActiveRecord有很多灵魂,但Mongoid和其他Mongo clinets没有.为Mongo和Mongoid找到一些灵魂会很棒!

database encryption activerecord ruby-on-rails mongodb

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

具有整数系数的多项式的快速因式分解

我想在整数环上快速分解多项式(原始多项式具有整数系数,并且所有因子都具有整数系数).

例如,我想分解4*x^6 + 20*x^5 + 29*x^4 - 14*x^3 - 71*x^2 - 48*x(2*x^4 + 7*x^3 + 4*x^2 - 13*x - 16)*(2*x + 3)*x.

我应该选择哪种算法来避免代码的复杂性和方法的低效率(谈论算术运算和内存消耗的总量)?

我将使用C编程语言.

例如,可能有一些好的算法用于整数环模数素数的多项式因式分解?

c algorithm performance polynomial-math polynomials

13
推荐指数
1
解决办法
1469
查看次数

Rails3:警告:toplevel引用的常量ApplicationController

每次我收到警告:

app/controllers/agency/agencies_controller.rb:1: warning: toplevel constant ApplicationController referenced by Agency::ApplicationController
Run Code Online (Sandbox Code Playgroud)

我的agencies_controller.rb:

class Agency::AgenciesController < Agency::ApplicationController

  def index
    ...
  end 

  ...
end
Run Code Online (Sandbox Code Playgroud)

和Agency :: ApplicationController:

class Agency::ApplicationController < ApplicationController
  layout 'agency'

  helper_method :current_agency
  private

  def current_agency
    @current_agency ||= current_user.agency 
  end

end
Run Code Online (Sandbox Code Playgroud)

铁轨对我有什么要求?有什么麻烦?

与另一个控制器相同的情况

class Agency::ClientsController < Agency::ApplicationController
  ...
end
Run Code Online (Sandbox Code Playgroud)

没有警告,没有错误......

inheritance ruby-on-rails ruby-on-rails-3

9
推荐指数
3
解决办法
5526
查看次数

是否存在黄瓜的"并显示我的页面"的类似物?

我希望在运行某些视图规范时看到html页面.

如果我运行Cucumber,我可以使用"并向我显示页面"用于此类目的.Rspec有可能吗?

rspec cucumber

9
推荐指数
1
解决办法
3225
查看次数

Pyopencl:to_device和Buffer之间的区别

import pyopencl as cl
import pyopencl.array as cl_array
import numpy
a = numpy.random.rand(50000).astype(numpy.float32)
mf = cl.mem_flags
Run Code Online (Sandbox Code Playgroud)

有什么区别

a_gpu = cl.Buffer(self.ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=a)
Run Code Online (Sandbox Code Playgroud)

a_gpu = cl_array.to_device(self.ctx, self.queue, a)
Run Code Online (Sandbox Code Playgroud)

有什么区别

result =  numpy.empty_like(a)
cl.enqueue_copy(self.queue, result, result_gpu)
Run Code Online (Sandbox Code Playgroud)

result = result_gpu.get()
Run Code Online (Sandbox Code Playgroud)

python numpy opencl pyopencl

8
推荐指数
1
解决办法
2572
查看次数

如何在使用Google Maps for JS的代码上编写单元测试

我正在编写一些旨在在浏览器中运行的JavaScript模块(客户端,而不是服务器端).此模块正在使用Google Maps JavaScript API.

我希望通过单元测试来覆盖我的代码.我也希望我的测试能够被隔离.我发现了几个 类似vcrJS 库,用于记录和模拟Google Maps Api正在生成的HTTP请求.但所有这些都是针对Node.JS的(因为PhantomJS不支持使用fs模块).此外,Node.JS具有比PhantomJS更丰富和可读的回溯.

所以我想知道如何将Google Maps Javascript API包含在基于Node.JS的测试运行器的测试中以及如何为我的代码编写测试?

PS我不会坚持某些JS单元测试库.它可以是Jasmine,QUnit或任何其他.

PPS没必要是Node.JS的跑步者.如果还有其他选择,那就完全没问题!

PPPS我的目标是避免以下事情:

  1. 避免依赖互联网连接和相应的测试延迟
  2. 避免因为更改Google服务器上的某些GEO数据而导致测试失败.例如:如果我使用路线,我真的不在乎它是2000米还是2001米,我只是想知道,我从谷歌那里得到了一些适当的数据并用它进行了一些计算.

PPPPS感谢@MichaelGeary的回答,我们知道Google只保存了3个版本的API.但是我并不专注于谷歌地图,我选择它是因为它的受欢迎程度/我有同样的问题应用于任何其他地图api,如Yandex.Maps,Leaflet(与openstreet),Bing等.大多数它们不会删除旧的API,因此我可以修复版本并依赖于不更改内部API和HTTP请求.

另外我想避免模拟地狱,因为我的代码非常复杂并且使用了许多不同类型的地理对象.因此,模拟所有这些并支持该代码并不容易.看起来像是无法忍受的事情.

我的想法是修复API的版本已经有一段时间了(在谷歌案例中不是很长时间)并且依赖于内部HTTP请求格式的持久性.并不时删除所有记录的数据,以确保在现实世界中一切都还行.

我希望自己能成为控制我何时应该修复考试的人.我不想谷歌在随机的时刻打破我的测试.

javascript google-maps unit-testing google-maps-api-3 node.js

8
推荐指数
1
解决办法
2626
查看次数