小编Mar*_*ara的帖子

为什么即使代码没有任何变化,我的目标也总是重新编译可执行文件?

我写Makefile几乎是新手,对可能出现的小错误感到抱歉。即使源代码没有任何变化,我的Makefile仍会继续重新编译可执行文件(.out)。目标对其他对象有一些依赖性。无论如何,这些对象不会重新编译相对的源文件(就像应该的那样)。那么,为什么目标重新编译.out文件呢?

任何其他建议将不胜感激。

# -*- Makefile -*-

CC:= nvcc
CFLAGS:= -std=c++14 -g -DMEASURES
ALLFLAGS:= $(CFLAGS) -Iinclude/ 
LOWPAR:= $(ALLFLAGS) -DLOWPAR


BIN:=bin/
SRC:=src/
INCLUDE:=include/


.PHONY: future managed stream clean

####DEVICE####
#cos future, stream, managed
future: $(BIN)main_cos.o $(BIN)farmkernels.o $(BIN)cudaUtils.o
    $(CC) $(ALLFLAGS) $(BIN)main_cos.o $(BIN)farmkernels.o $(BIN)cudaUtils.o -o $(BIN)future.out

managed: $(BIN)main_cos.o $(BIN)farmkernels.o $(BIN)cudaUtils.o
    $(CC) $(ALLFLAGS) $(BIN)main_cos.o $(BIN)farmkernels.o $(BIN)cudaUtils.o -o $(BIN)managed.out

stream: $(BIN)main_cos.o $(BIN)farmkernels.o $(BIN)cudaUtils.o
    $(CC) $(ALLFLAGS) $(BIN)main_cos.o $(BIN)farmkernels.o $(BIN)cudaUtils.o -o $(BIN)stream.out


$(BIN)main_cos.o: $(SRC)main_cos.cpp $(INCLUDE)cosFutStr.h $(INCLUDE)cudaUtils.h
    $(CC) $(ALLFLAGS) -c $(SRC)main_cos.cpp -D$(shell echo $(MAKECMDGOALS) | tr a-z A-Z) -o …
Run Code Online (Sandbox Code Playgroud)

linux rebuild cuda makefile

3
推荐指数
2
解决办法
78
查看次数

Cuda 占用计算器的新版本或替代版本是什么?

我正在使用计算能力为 6.0 的 Tesla P100。我想找到一个工具来自动获取我的内核代码的最佳网格和块大小。

我最近发现了CUDA 占用计算器(.xls 电子表格)。但我意识到它有点过时了(功能直到 2.1 为止)。

  • 我尝试搜索更新的电子表格,包括更高的 CC,但没有任何结果。

  • 所以我寻找替代方案,发现从 CUDA 6.5 开始,引入了Occupancy API 。这是电子表格的更新替代品吗?

  • 此外,我从 GitHub 上找到了这个工具 。我可以考虑将此作为替代方案吗?还是使用 Occupancy API 更好?

另外,CUDA 分析器(nvprofNsight)可以对占用率进行估计并给出一些最佳的块/网格大小吗?

我对这些工具还很陌生。

cuda nvidia

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

标签 统计

cuda ×2

linux ×1

makefile ×1

nvidia ×1

rebuild ×1