Support generation of nvcc -gencode flags#430
Merged
waruqi merged 4 commits intoxmake-io:devfrom Jun 2, 2019
Merged
Conversation
Member
|
这种作为includes的扩展辅助接口来提供,不要加到内置api里面去,内置api除了特定编译器的add_xxflags之外,其他接口都是通用的,对不同语言都有可能用到。 请在 https://github.com/xmake-io/xmake/tree/master/xmake/includes 里面添加 function add_cugencode(...)
-- TODO
-- add_cuflags("-gencode arch=compute_" .. sm .. ",code=compute_" .. sm)
-- add_ldflags("-gencode arch=compute_" .. sm .. ",code=compute_" .. sm)
end使用方式: includes("add_cugencode.lua")
target("cuda_console")
set_kind("binary")
add_includedirs("inc")
add_files("src/*.cu")
add_cugencode("sm_30", "sm_35", "sm_37", "sm_50", "sm_52", "sm_60", "sm_61", "sm_70")
add_cugencode("compute_70") |
Member
Author
|
includes 里面没有raise和warnings,连math都没有。 看其他的都是用了一个option中转的,但是对于这个好像也不太合适? |
Member
|
如果要使用扩展模块,可以定义rule,在自定义脚本域实现它: add_cucodegen.lua -- define rule
rule("cuda.add_gencode")
before_load(function (target)
for _, sm in ipairs(target:values("cuda.gencode")) do
-- target:add("cuflags", "-gencode arch=compute_" .. sm .. ",code=compute_" .. sm)
-- target:add("ldflags", "-gencode arch=compute_" .. sm .. ",code=compute_" .. sm)
end
end)
rule_end()
-- apply rule
add_rules("cuda.add_gencode")
-- add cuda gencode to target
--
-- e.g.
-- includes("add_cugencode.lua")
-- target("test")
-- set_kind("binary")
-- add_files("src/*.cu")
-- add_cugencode("cm_30", "sm_35")
--
function add_cugencode(...)
add_values("cuda.gencode", ...)
end
|
Member
Author
|
好像要写成 function add_cugencode(...)
-- apply rule
add_rules("cuda.add_gencode")
add_values("cuda.gencode", ...)
end
|
Member
|
就你刚这样写好了 add_rules有做过去重处理的 没啥问题 |
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
Member
Author
|
cuda 这个模板过于复杂了吧。。。 |
Member
Author
|
在 cuda10.1 @windows 和 cuda10.1@ubuntu cuda9.2@ubuntu 测试过了 |
Member
|
我晚上细看下 现在有点事 |
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
Member
我当初只是随手从cuda的examples里面调了一个 移过来的,你觉得复杂的话,可以改进下,提供个更精简的helloworld |
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
waruqi
reviewed
Jun 1, 2019
Member
Author
|
差不多了 |
Merged
Member
Author
|
按照命名规则是不是应该叫 add_cugencodes ? |
OpportunityLiu
added a commit
to OpportunityLiu/xmake-docs
that referenced
this pull request
Jun 2, 2019
Member
|
嗯 是的 改成add_cugencodes吧 |
Member
Author
|
改好了 |
Member
|
ok, CHANGELOGS.md 里面也更新下吧。。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
使用
add_cugencodes添加-gencode编译选项。Usage: