小编Dre*_*dok的帖子

nodejs + passport + express 3.0 + connect-flash没有闪烁?

我正在使用护照本地策略来验证用户身份.我按照Jared Hanson给出的指南安装了connect-flash,以便为req对象提供flash方法.所以我的一个请求处理程序如下:

 app.post('/login',                             
      passport.authenticate('local', {           
          successRedirect: '/'                   
        , failureRedirect: '/login'              
        , successFlash: 'Bienvenido'             
        , failureFlash: 'Credenciales no válidas'                             
      })                                         
  );   
Run Code Online (Sandbox Code Playgroud)

当用户登录失败时,它会再次将用户重定向到/ login,但它不会闪现任何东西:/

更新:我使用mongodb进行会话存储,我看到了这个:

> db.sessions.find()
{ "_id" : "qZ2eiTnx6r9LR25JOz/TGhiJ", "session" : "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"passport\":{\"user\":\"4ffb5b5db9cc16b615000001\"},\"flash\":{\"error\":[\"Credenciales no válidas\"],\"success\":[\"Bienvenido\"]}}" }
Run Code Online (Sandbox Code Playgroud)

因此,消息将插入到会话对象中,但不会将其拉出.我应该做些特别的事吗?

connect node.js express passport.js

10
推荐指数
1
解决办法
7050
查看次数

为什么我没有与GTX 480和CUDA 5重叠数据传输和计算?

我试图将内核执行与memcpyasync重叠,但它不起作用.我遵循编程指南中的所有建议,使用固定内存,不同的流等.我看到内核执行确实重叠,但它不与mem传输.我知道我的卡只有一个复制引擎和一个执行引擎,但执行和传输应该重叠,对吧?

似乎"复制引擎"和"执行引擎"总是强制执行我称之为函数的顺序.工作包括执行[HtoD x2,Kernel,DtoH]的4个流.如果我在每个流上发出HtoDx2,Kernel,DtoH系列,我在profiler中看到像stream2 HtoD第一个操作在第一个DtoH操作结束之前不会启动.如果我首先在每个流上发布HtoD,那么第二个HtoD,然后是内核,然后是DtoH(广度),我看不到重叠,并且GPU也强制执行问题顺序.

我已尝试使用CUDA SDK中给出的simpleStreams示例,我也看到了相同的行为.

我附上了一些屏幕截图,显示了VS2008的visual profiler和Nsight中的问题.

PS.我没有设置CUDA_LAUNCH_BLOCKING环境

Simple Streams Visual Profiler Simple Streams Visual Profiler

MyApp Nsight时间轴广度优先 MyApp Nsight时间轴广度优先

MyApp Nsight时间轴深度优先 MyApp Nsight时间轴深度优先

编辑:

添加额外的x4内核(每个流总共2HtoD,5个内核,1DtoH) - >如果我在运行和不运行-concurrent-kernels-off的情况下运行nvprof,则经过的时间是相同的.如果我设置env CUDA_LAUNCH_BLOCKING = 1那么我看到7.5%的性能提升(来自命令行)!

系统规格:

  • Windows 7的
  • NVIDIA 6800 VGA位于第一个PCI-E插槽中
  • GTX480位于第二个PCI-E插槽中
  • NVIDIA驱动程序:306.94
  • Visual Studio 2008
  • CUDA v5.0
  • Visual Profiler 5.0
  • Nsight 3.0

concurrency cuda overlapping nsight

6
推荐指数
1
解决办法
1561
查看次数

Android逻辑删除并不总是生成.如何加强其生成?

我正在尝试调试一个虚幻引擎4本机应用程序(我制作的游戏).有时我看到游戏崩溃时会产生"墓碑".但不总是 ...

有没有办法强制生成墓碑?为什么每次我的游戏崩溃都不会产生它?

提前致谢

android

5
推荐指数
2
解决办法
2810
查看次数

NVIDIA CUDA编译器自动循环展开

我不知道NVCC是否足够聪明,可以在这样的循环中自动公开指令级并行性(ILP):

for (int i = 0; i < 8; i++) {
   if (somethingHappens) {
       someVar = someVar & 1 << i;
   }
}
Run Code Online (Sandbox Code Playgroud)

还是应该将其重写为像这样显式公开ILP:

char somevar[8];
for (int i = 0; i < 8; i++) {
       if (somethingHappens) {
           someVar[i] = 1 << i;
       }
    }
//reduce somevar using vaddus4 and 3 logical-ands
Run Code Online (Sandbox Code Playgroud)

其他问题:

  • 开普勒的算术流水线有多深?
  • 我如何才能有效地采取措施,知道这种优化是否值得?在块之前和之后读取时钟寄存器是否足够?

cuda

4
推荐指数
1
解决办法
674
查看次数

为什么静态声明的4个无符号字符数组在获取内存时会产生ld.global.u8?

我正在使用CUDA 5.5并且我发现编译器行为有点奇怪,如果我尝试寻址只有数据是4个无符号字符的结构,它会触发4次加载u8.相反,如果我使用union并加载uchar4,它会产生所需的nc.v4.u8加载

此代码生成ld.global.u8%rs5,[%r32];

        const int wu = 4;
        struct data {
            uchar_t v[wu];           
            CUDA_CALLABLE_MEMBER uchar_t &operator[] (int i) {
                return v[i];
            }
        } fetch[rows];

        for (int i = 0; i < rows; i++) {
            fetch[i] = *((data*)&src[offsetSrc + i*strideSrc]);
        }
Run Code Online (Sandbox Code Playgroud)

所以我必须解决这个问题,建立一个产生所需要的联盟:ld.global.nc.v4.u8 {%rs49,%rs50,%rs51,%rs52},[%r37];

       const int wu = 4;
       struct data {
            union {
                uchar_t v[wu];
                uchar4 v4;
            };
            CUDA_CALLABLE_MEMBER uchar_t &operator[] (int i) {
                return v[i];
            }
        } fetch[rows];

        for (int i = 0; i < rows; i++) {
            fetch[i].v4 = …
Run Code Online (Sandbox Code Playgroud)

cuda gpgpu nvcc

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

寄存器/线程说50但实际上是56

我正在使用CUDA 5.5,VS2010和参数compute_35和sm_35.我有一个GFX泰坦.

我有一个内核,寄存器/线程说它使用50个寄存器,每个块的线程数为128,寄存器/块是7168.

7168/128 = 56.

我没有使用纹理.

见下图:

寄存器

如果我将寄存器使用限制为48,我得到这个:47个寄存器/线程但实际使用率为每个线程48个

cuda

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

有没有办法在Kepler只读缓存中使用纹理地址模式优势?

我已经多次使用纹理来开发地址模式(模式边框是我用的最多)

程序员可以只使用只读缓存来表达某种地址模式吗?(const __ restrict__限定符)无需使用纹理.

谢谢!

cuda gpgpu

0
推荐指数
1
解决办法
136
查看次数