but - what are those options we pass in there? It doesn’t seem like they should be linking options, or compilation options, since we’re past that if we’re creating a fatbin… right?
I’m not sure what you mean by “deprecated target option”. Do you mean the -host option when specifying mac ?
I’m fairly certain that is deprecated because mac OS support in the CUDA toolchain was dropped in the CUDA 10.x timeframe. No, there is no replacement for mac OS for fatbins. It hasn’t been supported in quite a while.
Do you mean the -host option when specifying mac ?
Yes, that’s what I meant… ah, ok, so it’s not the option that’s deprecated, just the “mac” value. I get it.
Anyway, I’ll pick your brain a little further… there’s another set of options: those for nvFatbinAddPTX() and nvFatbinAddLTOIR(). Are those supposed to be liked the ones we have for nvPTXCompilerCompile()? or for cuLinkAddData() I’m asking because the former are a single char*, and the latter are an array of char*'s.
I don’t believe they are the same. They are options for JIT compilation which would be something analogous to running the ptxas tool, so I’m expecting something like options like you might specify for the ptxas tool. But that is just my own conjecture; I don’t have an answer here. When you find a deficiency in the documentation, you are welcome to file a bug.
Regarding the difference in parameter type specification, I think that the formatting of multiple options here is supposed to be such that they are all passed in a single string, rather than in an array as in the previous case (for nvFatbinCreate).