Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation for Metal target #4262

Open
swoods-nv opened this issue Jun 3, 2024 · 6 comments
Open

Add documentation for Metal target #4262

swoods-nv opened this issue Jun 3, 2024 · 6 comments
Labels
goal:quality & productivity Quality issues and issues that impact our productivity coding day to day inside slang

Comments

@swoods-nv
Copy link
Collaborator

swoods-nv commented Jun 3, 2024

Support for Metal should be documented as in prototype stage. Documentation must be added to docs/user-guide/09-targets.md to indicate that Metal is available as a work in progress (e.g. see note below CUDA and OptiX section). Additionally, it would be nice to document the format of the profile strings used by findProfile() in the appropriate places in docs/user-guide/08-compiling.md

@swoods-nv swoods-nv added the goal:quality & productivity Quality issues and issues that impact our productivity coding day to day inside slang label Jun 3, 2024
@swoods-nv swoods-nv added this to the Q2 2024 (Spring) milestone Jun 3, 2024
@swoods-nv swoods-nv self-assigned this Jun 3, 2024
@swoods-nv
Copy link
Collaborator Author

Want to land before SIGGRAPH, but not critical for EOQ2

@swoods-nv swoods-nv changed the title Update documentation for compilation API with profile information for new targets. Add documentation for new targets Jul 19, 2024
@swoods-nv
Copy link
Collaborator Author

There's more detailed documentation needed here than I'd realized-- I'm going to need one of the authors of the Metal backend to assist. @ArielG-NV @jkwak-work @csyonghe

@ArielG-NV
Copy link
Contributor

ArielG-NV commented Jul 19, 2024

it would be nice to document the format of the profile strings used by findProfile() in the appropriate places in docs/user-guide/08-compiling.md

We also should allow a user to choose the metal version being compiled with if we are to add findProfile documentation for all targets (otherwise profiles are quite useless with metal)

@jkwak-work
Copy link
Collaborator

it would be nice to document the format of the profile strings used by findProfile() in the appropriate places in docs/user-guide/08-compiling.md

We also should allow a user to choose the metal version being compiled with if we are to add findProfile documentation for all targets (otherwise profiles are quite useless with metal)

@ArielG-NV , do we have a way to dump the name strings of profiles?
As far as I can see, there isn't a way to do it currently.

Since there are a lot of profile names, I don't think we can list all of them on the document.
We should refer to a command-line option that can print out all the available profile name strings.

jkwak-work added a commit to jkwak-work/slang that referenced this issue Jul 22, 2024
Partially resolves shader-slang#4262

The description of "Parameter passing" part for Metal is related to PR
jkwak-work added a commit to jkwak-work/slang that referenced this issue Jul 22, 2024
Partially resolves shader-slang#4262

The description of "Parameter passing" part for Metal is related to PR shader-slang#4022
jkwak-work added a commit to jkwak-work/slang that referenced this issue Jul 22, 2024
Partially resolves shader-slang#4262

The description of "Parameter passing" part for Metal is related to PR shader-slang#4022
@ArielG-NV
Copy link
Contributor

ArielG-NV commented Jul 22, 2024

@ArielG-NV , do we have a way to dump the name strings of profiles?
As far as I can see, there isn't a way to do it currently.

There currently is no way todo this.

Since there are a lot of profile names, I don't think we can list all of them on the document.
We should refer to a command-line option that can print out all the available profile name strings.

I believe we could do both options.

The idea I have in mind for documenting every capability/profile:

  1. inside tools\slang-capability-generator\capability-generator-main.cpp we could add logic to require a /// comment above the line with the definition of a capability.
  2. store this string inside slang\build\source\slang\capability\slang-generated-capability-defs-impl.h.
  3. Add build step to Slang (or CI) to autogenerate a user-doc with all capabilities using slang\build\source\slang\capability\slang-generated-capability-defs-impl.h
  4. output the auto-generate code from '.3' as a a command-line output with slangc if slangc -help capabilities is added (or something similar)

Related issue: #4125

@swoods-nv swoods-nv reopened this Sep 5, 2024
@swoods-nv swoods-nv reopened this Sep 5, 2024
@swoods-nv
Copy link
Collaborator Author

Metal documentation is still very incomplete.

@swoods-nv swoods-nv changed the title Add documentation for new targets Add documentation for Metal target Sep 5, 2024
@swoods-nv swoods-nv removed their assignment Sep 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
goal:quality & productivity Quality issues and issues that impact our productivity coding day to day inside slang
Projects
None yet
Development

No branches or pull requests

4 participants