小编tes*_*n3r的帖子

VPU vs FPU vs GPU vs ALU

我想更好地了解矢量处理图形(VPU),浮点单元,图形处理单元以及算术和逻辑单元之间的区别。

我知道在CPU内有一个FPU和一个ALU,但是对于GPU来说也是如此吗?

VPU vs GPU呢?他们不应该是同一个人吗?内部是否有ALU / FPU?

cpu gpu fpu alu

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

最小化重复模式的函数重载

为了学习haskell,我一直在构建一个很像Python Pandas 的框架。

在这种情况下,我定义了一个名为 Series 的数据

    data Series
  = SInt [Int] ByteString
  | SFloat [Float] ByteString
  | SByteString [ByteString] ByteString
  deriving (Show, Eq)
Run Code Online (Sandbox Code Playgroud)

但是由于 Haskell 类型系统和我的知识,我使用这种非常重复的编码模式编写了简单的函数,如标量和

sScalarSum :: Series -> Either Int Float
sScalarSum (SInt i _) = Left $ Data.List.sum i
sScalarSum (SFloat i _) = Right $ Data.List.sum i
sScalarSum (SByteString _ _) =
  error "Cannot sum strings. use applyDType to convert series to float or int"
Run Code Online (Sandbox Code Playgroud)

是否有任何形式的重载来最小化此代码?

我不能做这样的事情吗?

sScalarSum :: Series -> Either Int Float
sScalarSum (Series …
Run Code Online (Sandbox Code Playgroud)

haskell

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

将C++代码放在C中时未定义引用`function()'

我有一个如下所述的反问题: 结合C++和C - #ifdef __cplusplus如何工作?

整个应用程序是C代码,现在我需要在那里添加一些C++函数.但在这样做时我得到了这个错误:

/tmp/cczmWtaT.o: In function `aocl_utils::_checkError(int, char const*, int, char const*, ...)':
/home/harp/host/../common/src/AOCLUtils/opencl.cpp:245: undefined reference to `cleanup()'
/tmp/ccrmKQaT.o: In function `main':
/home/harp/host/src/main.c:165: undefined reference to `harp_setup()'
/tmp/ccGKataf.o: In function `solver_propagate(solver_t*)':
/home/harp/host/src/solver.c:751: undefined reference to `launch_kernel()'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我试过了:

#ifdef __cplusplus
extern "C" {
#endif

<C code>

#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)

但它显示了同样的错误.

我正在做的是在C文件中包含一个C++头文件,其中包含我需要的外部函数.

例:

solver.c

#include "HarpBuffers.h"
...
Run Code Online (Sandbox Code Playgroud)

HarpBuffers.h

extern void harp_setup();
extern void setup_buffers(cl_int a, cl_int b, int **h_clause, unsigned int …
Run Code Online (Sandbox Code Playgroud)

c c++ linker precompiled-headers

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

理解 Haskell (&lt;-) 语法糖

我正在尝试使用 Cassava 解析 CSV 文件。我想要一个函数,Nothing如果解析不成功Just (V.Vector (String, String, String))则返回,否则返回。

我正在使用下面的代码:

  {-# LANGUAGE ScopedTypeVariables #-}
module Lib
    ( someFunc
    ) where

import qualified Data.ByteString.Lazy as BL
import Data.Csv
import qualified Data.Vector as V

type Dataset = (String, String, String)
someFunc :: Maybe (V.Vector Dataset)
someFunc = do
    csvData <- BL.readFile "TAEE3.SA.csv"
    case decode HasHeader csvData :: Either String (V.Vector (String, String, String)) of
      Left a -> Nothing
      Right v -> Just v
Run Code Online (Sandbox Code Playgroud)

错误是:

  • Couldn't match type …
Run Code Online (Sandbox Code Playgroud)

monads haskell do-notation

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

标签 统计

haskell ×2

alu ×1

c ×1

c++ ×1

cpu ×1

do-notation ×1

fpu ×1

gpu ×1

linker ×1

monads ×1

precompiled-headers ×1