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

Cross-platform-ify #45

Merged
merged 17 commits into from
Nov 2, 2022
Merged

Cross-platform-ify #45

merged 17 commits into from
Nov 2, 2022

Conversation

daltonrpruitt
Copy link
Owner

To facilitate using my favored dev environment (i.e. VSCode, with a plethora of useful extensions), I needed to be able to develop on my gaming laptop instead of the HPC machines I had been working on (as I can't do SSH tunneling to use VS Code Remote Development).
These changes are therefore an attempt to get the repository able to execute on my Windows environment.
Currently using cmake 3.24.2.
Installed the most recent version of the CUDA Toolkit.
I have the Visual Studio 2019 Community edition on my computer (using compilers for its "amd64" kit).
There were several other issues I found when setting this up, and I will try to document them in this request or in the corresponding commits.

This is part of a process to make cross-platform with windows ...
It is turning out to be a bit more work than I intended...
@daltonrpruitt
Copy link
Owner Author

Problem with thrust and CUDA when building 32-bit with MSVC, apparently.
Issue | Pull request fix
I just changed to using the 64-bit toolkit to get it to work...

Based on SO post given in header of `clock_gettime_windows.h`,
this fix tries to allow for timing in a more cross-platform manner.
This is a stop-gap solution, really.
Again, this could be better done. But I wanted to just get things to
work for now.
Based on https://stackoverflow.com/questions/45013977/random-shuffle-is-not-a-member-of-std-error
`random_shuffle()` was actually deprecated.
How I have gotten this far without errors, I am very unsure.
This seems to work.
How did I get by without this issue before?
Not sure if this is necessary, but it seems that without this,
the compilation fails.
¯\_(ツ)_/¯
Needed due to my extensive use of templates, I think...
This is really just a local thing, but I'm committing just for records,
I guess?
This has not been determined to be necessary, but will ultimately not
be used due to next commit...
I have some terrible issue getting the `force_global_load()` function to
work correctly.
Since the work I am trying to do on Windows is just restructuring the
"business logic" of the benchmark driver, and I
plan to use that base code in the spmv anyways, I don't feel that I
need to update the spmv during this work.
Based on compiler used. Don't build with MSVC, basically.
@daltonrpruitt daltonrpruitt merged commit 2be2725 into main Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant