小编Ala*_*aya的帖子

如何用CUDA代码解释在GPU设备中观察到的超线性加速?

我无法理解特斯拉C1060上令人尴尬的并行计算的缩放性能.使用所有块和每个块的多个线程运行它,我得到的运行时间约为0.87秒.

但是,如果我只在一个块中运行所有迭代,每个块有一个线程,则运行时间最长为1872秒,这远远超过240x0.87s = 209s,我只希望缩小到只使用其中一个240个流媒体处理器.

相反,通过使用所有240核心,我似乎加速超过2000倍.这种超线性加速怎么可能; 在我对这个系统的性能建模中,我应该注意哪些其他因素?

parallel-processing performance cuda

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

如何使一个函数只能在c ++中看到一个函数?

我怎么能只调用它的函数看到的函数?

定义我想要隐藏的函数,因为私有函数是不够的,因为它仍然可以被类中的其他公共函数看到.

现在我使用lambda表达式来定义函数内部的匿名函数.有没有更好的解决方案?

c++

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

为什么函数enumFromThenTo的行为与GHC.Enum中定义的行为不同?

这里了解到,功能的定义enumFromThenTo

enumFromThenTo      :: a -> a -> a -> [a]
enumFromThenTo x1 x2 y = map toEnum [fromEnum x1, fromEnum x2 .. fromEnum y]
Run Code Online (Sandbox Code Playgroud)

但是,当我用下面的代码测试函数时:

import GHC.Enum
myEnumFromThenTo :: Enum a => a->a->a->[a]
myEnumFromThenTo x1 x2 y = map toEnum [fromEnum x1, fromEnum x2 .. fromEnum y]

xs1 :: [Float]
xs1 = myEnumFromThenTo 1 3 10

xs2 :: [Float]
xs2 = enumFromThenTo 1 3 10

 -- -- | Used in Haskell's translation of @[n,n'..m]@.
-- enumFromThenTo …
Run Code Online (Sandbox Code Playgroud)

haskell ghc

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

MultiParamTypeClasses的类型推断?

我正在写一些我认为显然是正确的代码,但似乎GHC并不这么认为:

class Convert a b where
    convert :: a -> b
class (Convert a b, Convert b c) => F a b c where 
    f  :: a -> c
    f = f2 . f1 
      where f2 = convert :: b -> c
            f1 = convert :: a -> b
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了这样的错误信息,所以我想知道GHC在尝试推断出合适的类型时遇到了什么困难,或者我是否必须提供GHC更多的类型信息?

Main.hs:53:18:
    Could not deduce (Convert b2 c2) ac)
      bound by the class declaration for ‘F’ at Main.hs:(50,1)-(54,34)
    Possible fix:
      add (Convert b2 c2) to the context of
        an expression type …
Run Code Online (Sandbox Code Playgroud)

haskell

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

标签 统计

haskell ×2

c++ ×1

cuda ×1

ghc ×1

parallel-processing ×1

performance ×1