我决定参加Eudyptula挑战赛.在我提交了第一个任务之后,就是构建一个简单的"Hello World!" 模块,我收到了以下答案.
请阅读Makefile的要求,并允许根据文件系统上的任何内核源代码树构建模块,而不仅仅是那些
/lib/在某个时间点安装的内核.
要求是:
Makefile应该能够针对当前运行的内核的源构建内核模块,并且能够从环境变量接受任意内核源目录.
我正在做的是检查是否KERNELRELEASE设置了环境变量.如果是我构建模块
$(KERNELRELEASE)/build
Run Code Online (Sandbox Code Playgroud)
如果它不反对
/lib/modules/$(shell uname -r)/build
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么这不能满足这项任务的要求.
为什么在Docker中从镜像创建容器时会创建containerID-init层?新容器不能将图像作为父容器吗?
我正在尝试使用来自两个应用程序的端口,并让每个应用程序从一组不同的IP地址接收数据包.为了实现这一点,我使用了SO_REUSEPORT和SO_ATTACH_REUSEPORT_CBPF套接字选项.我的代码如下:
parentfd = socket(AF_INET, SOCK_STREAM, 0);
if (parentfd < 0)
error( "ERROR opening socket");
struct sock_filter code[]={
{ 0x28, 0, 0, 0x0000000c },
{ 0x15, 0, 3, 0x00000800 },
{ 0x20, 0, 0, 0x0000001a },
{ 0x15, 2, 0, 0xc0a8ff01 },
{ 0x6, 0, 0, 0x00000000 },
{ 0x6, 0, 0, 0x00040000 },
{ 0x6, 0, 0, 0x00000001 },
};
struct sock_fprog bpf = {
.len = ARRAY_SIZE(code),
.filter = code,
};
if (setsockopt(parentfd, SOL_SOCKET, SO_REUSEPORT, (const void *)&optval,sizeof(optval)))
error("ERROR …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 Ubuntu 14.04 笔记本电脑中安装 Cuda 6.0,但它不断抛出以下错误:
Error: unsupported compiler: 4.8.2. Use --override to override this check.
Run Code Online (Sandbox Code Playgroud)
我应该为此使用哪个 gcc 版本?
我在使用 cgo 的 Go 中有以下代码:
func foo() {
bar := new(C.struct_bar)
...
}
Run Code Online (Sandbox Code Playgroud)
函数完成执行后 bar 会被垃圾回收还是我需要显式调用 free?
我在Haskell中有以下代码.我想重复30次Fermat素性测试给定的数字n,但问题是它总是返回False ...我试图修复问题但我总是得到错误的答案.任何想法?
import System.Random
import System.IO.Unsafe
takeARandomNum n=unsafePerformIO (getStdRandom (randomR (2,n)))
fermatTestA :: (Int, Int) -> Bool
fermatTestA (n, a) =((a^(n-1) `mod` n)==1)
solve :: (Int, Int) -> Bool
solve (n, 1) = fermatTestA (n, takeARandomNum (n-2))
solve (n, maxTest)
| fermatTestA (n, takeARandomNum (n-2)) = (solve (n, (maxTest-1)))
| otherwise = False
fermatTest :: Int ->Bool
fermatTest n = solve (n, 30)
Run Code Online (Sandbox Code Playgroud) 我已经实现了这个代码:http://www.cuvilib.com/Reduction.pdf,以便计算矩阵元素的总和.
但是在GPU中运行速度比在CPU中慢得多.
我有i7处理器和NVIDIA GT 540M显卡.
是应该是这样还是其他什么?
编辑:我在Ubuntu 13.04中使用上面代码的第3版,我使用Eclipse Nsight编译它.矩阵的大小为2097152个元素.它在3.6毫秒内执行,而CPU版本在1.0毫秒左右.以下是整个代码:
#include <stdio.h>
#include <stdlib.h>
#include <thrust/sort.h>
#include <sys/time.h>
#include <omp.h>
#include <iostream>
#include <algorithm>
#define MIN(a,b) (((a)<(b))?(a):(b))
static const int WORK_SIZE = 2097152;
int find_min(int *a,int length){
int min = a[0];
for (int i=1;i<length;i++)
if (a[i]<min)
min=a[i];
return min;
}
__global__ static void red_min(int *g_idata,int *g_odata) {
extern __shared__ int sdata[];
unsigned int tid = threadIdx.x;
unsigned int i = blockIdx.x * blockDim.x + threadIdx.x;
sdata[tid]= g_idata[i]; …Run Code Online (Sandbox Code Playgroud) 我如何实现以下链接中给出的代码的第7版:http :
//www.cuvilib.com/Reduction.pdf
,其输入数组的大小为任意数,换句话说,不是2的幂。