我有使用OpenCL C内核代码的PyOpenCL代码.我运行我的应用程序时捕获分段错误错误.如何使用某些调试器或其他一些开发工具调试此类错误?我不知道究竟要做什么来找出问题所在.我想到选择printf或什么,但我想使用更强大的东西.
我相信内核代码中的错误,所以我想先调试内核代码.
UPD.我在linux(Arch Linux,3.6.11),python 2或3,PyOpenCl 2012.1上
我有几台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我的设置:
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
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.com对cucumber features/subdomain.feature和www.example.com对cucumber features与一个场景
Scenario: subdomain scenario
Given I visit subdomain "subdomain"
Run Code Online (Sandbox Code Playgroud)
在这两种情况下!
我不知道原因......
有没有最好的方法来测试带有水豚的子域名?
subdomain integration-testing cucumber capybara ruby-on-rails-3
我想提高测试的速度.
use_transactional_fixtures或使用database_cleaner宝石吗?:truncation到:transaction我的800多个例子后运行速度快了4倍!use_transactional_fixtures我使用database_cleaner时应该关闭:transaction吗?:transaction吗?:transaction来:truncation使用硒或当akephalos?PS Mysql,Rails 3,Rspec2,Cucumber
PPS我知道spork和parallel_test并使用它们.但他们是偏离主义的.例如,叉勺节省整个套件运行约15-20秒,而从改变:transaction到:truncation显着增加从3.5到13.5分钟(10分钟差)运行时间.
我想加密数据库,因为存储了机密数据.我用mongodb和mongoid.这种数据库有可能吗?如果不是,你可以推荐哪些替代方案?
PS主要目的是:如果有人破解服务器并窃取数据库,那将是无法加密的.
更新:感谢nickh,我发现ActiveRecord有很多灵魂,但Mongoid和其他Mongo clinets没有.为Mongo和Mongoid找到一些灵魂会很棒!
我想在整数环上快速分解多项式(原始多项式具有整数系数,并且所有因子都具有整数系数).
例如,我想分解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编程语言.
例如,可能有一些好的算法用于整数环模数素数的多项式因式分解?
每次我收到警告:
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)
没有警告,没有错误......
我希望在运行某些视图规范时看到html页面.
如果我运行Cucumber,我可以使用"并向我显示页面"用于此类目的.Rspec有可能吗?
让
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)
?
我正在编写一些旨在在浏览器中运行的JavaScript模块(客户端,而不是服务器端).此模块正在使用Google Maps JavaScript API.
我希望通过单元测试来覆盖我的代码.我也希望我的测试能够被隔离.我发现了几个 类似vcr的JS 库,用于记录和模拟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我的目标是避免以下事情:
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
cucumber ×3
database ×2
opencl ×2
performance ×2
pyopencl ×2
python ×2
rspec ×2
activerecord ×1
algorithm ×1
c ×1
capybara ×1
debugging ×1
docker ×1
encryption ×1
google-maps ×1
gpgpu ×1
gpu ×1
inheritance ×1
javascript ×1
mongodb ×1
node.js ×1
numpy ×1
polynomials ×1
subdomain ×1
unit-testing ×1