Comments (4)
ld
and nm
it should find from your mingw install (which ghc is using). Do the notes in the windows read me help at all, or are they just completely outdated now?
You are right, I donβt regularly test on windows, so I rely on people sending feedback/patches when things break.
from cuda.
Yes, I believe the instructions are currently outdated, I've made hotfixes which make the library build on Windows, I can open a pull request if you'd like to maybe address the issue fully?
Oh Mingw, hmmm my Haskell build on Win64 is using Msys but I doubt thats the full issue??? All in all it will take some ground work which I don't mind helping out with at all
The issue seems to be that CUDA is difficult to link with the MinGW environment unless one builds the CUDA libraries with MinGW's GCC (or conversely MSYS's gcc) and manually installs them; yet this is equally difficult based on my research
https://forums.developer.nvidia.com/t/cuda-with-mingw-how-to-get-cuda-running-under-mingw/415/7
from cuda.
If you do get it working yes please open a PR, that would be fantastic!
Windows support was added a long time ago via a contributor, but I believe they no longer need it thus it hasn't been kept up to date ):
from cuda.
Hey @tmcdonell I have made progress with the Library and can report the following:
The issue seems two fold:
First, the function defaultCUDAInstallPath
(in Setup.exe) was acting wonky, in my branch I extrapolated the function to have platform specific behavior (it works very well)
NOTE: even though the Setup.hs finds the CUDA_PATH it seems to default to this function no matter what
Second the generated cuda-0.11.0.0-inplace.conf
gives the wrong path for the dlls:
library-dirs:
...\cuda-master\dist-newstyle\build\x86_64-windows\ghc-8.10.7\cuda-0.11.0.0\build
C:\NVIDIA\Toolkit\CUDA\v9.0\lib\x64 C:\ghcup\msys64\mingw64\lib
dynamic-library-dirs:
...\cuda-master\dist-newstyle\build\x86_64-windows\ghc-8.10.7\cuda-0.11.0.0\build
C:\NVIDIA\Toolkit\CUDA\v9.0\lib\x64 C:\ghcup\msys64\mingw64\lib
it seems to think the .lib and .dll files are in the same place based on the inplace, when you put the .dll it's looking for in the same place as the lib path and update the defautCUDAInstallPath function this library builds again on Windows no problem
I will open a pull request soon, if you know what function is setting dynamic-library-dirs
I'd appreciate the pointer :)
from cuda.
Related Issues (20)
- Unknown CUDA device compute capability 6.1 HOT 2
- Minor edits needed for 7.10 HOT 1
- CUDA 8 support [was: Plans to support CUDA 8?] HOT 4
- Build fails with library profiling HOT 4
- Compilation fails for CUDA-8 [was: ghc 7.10.3 fail to install] HOT 2
- On Windows, the Cabal installer is looking in the wrong place. HOT 5
- Problem with module `Foreign.CUDA.Path' when installing on Windows 8.1 with CUDA-8.0 HOT 38
- Issues with dynamic parallelism? HOT 3
- GHCi only works with Stack with a custom cabal.buildinfo file. HOT 1
- Structure of nvidia-cuda-toolkit seems to have changed in Ubuntu 18.04 HOT 3
- Driver failure on AWS p3.2xlarge instance HOT 18
- Build failure in cuda-0.10.0.0 HOT 3
- Won't compile on Arch Linux HOT 3
- Ubuntu 16.04 + nvidia-cuda-toolkit "Found CUDA toolkit at: /usr" but 'Could not find path: ["/usr/lib64"]' HOT 7
- package revision to restrict Cabal to <3.0 HOT 1
- Compile issues for Cabal 2? HOT 2
- Cannot find a definition for `cuDevicePrimaryCtxRelease' in the header file. HOT 3
- CUDA 11.3 compatibility HOT 4
- rpath linking to cuda toolkit HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cuda.