Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : sciGPGPU details
Login with GitLab

sciGPGPU

Gpu Computing for Scilab
(7893 downloads for this version - 21195 downloads for all versions)
Details
Version
2.0
Authors
Cedric Delamarre
Vincent LEJEUNE, Allan CORNET, Cedric DELAMARRE
Owner Organization
Scilab Enterprises
Maintainers
C?dric DELAMARRE
Vincent COUVERT
Categories
License
Creation Date
September 11, 2013
Source created on
Scilab 5.4.x
Binaries available on
Scilab 5.4.x:
Linux 64-bit Windows 64-bit Linux 32-bit Windows 32-bit
Install command
--> atomsInstall("sciGPGPU")
Description
            This module provides GPU computing capabilities to Scilab. 
It uses an implementation of BLAS (cuBLAS) and FFT (cuFFT) through gpuAdd,
gpuMult, gpuFFT and other functions.
This module uses essentially Cuda but some functions, as gpuBuild, have been
created for build and use kernels developed with OpenCL or Cuda.

Binary versions have been built with Cuda 4.0.

If you need the OpenCL version of this module, please send an email to
contact@scilab-enterprises.com.            
Files (5)
[428.33 kB]
Source code archive

[648.48 kB]
Linux 64-bit binary for Scilab 5.4.x

[626.45 kB]
Windows 64-bit binary for Scilab 5.4.x

[622.88 kB]
Linux 32-bit binary for Scilab 5.4.x

[594.86 kB]
Windows 32-bit binary for Scilab 5.4.x

News (0)
Comments (10)     Leave a comment 
Comment from Moldovan Eugen -- December 3, 2013, 05:18:42 PM    
Hi Anker,

I've followed your steps but I still have problems with the compiler. 

Startup execution:
  loading initial environment

Start sciGPGPU
	Load macros
	Load help
Shared archive loaded.
Link done.
Shared archive loaded.
Link done.
atomsLoad: An error occurred while loading 'sciGPGPU-2.0-0':
	Please install Visual Studio compiler.
 
-->findmsvccompiler()
 ans  =
 
 msvc100express  

Do you have any idea how to fix this?
Thanks,
Eugen
Comment from Moldovan Eugen -- December 5, 2013, 08:50:46 AM    
Forgot to mention: win7, 64bit, Nvidia Tesla C1060, scilab 64bit 5.4.1

Eugen
Comment from Anker Josefsen -- December 5, 2013, 04:06:28 PM    
This comment has been deleted.
Comment from Anker Josefsen -- December 5, 2013, 04:21:27 PM    
This comment has been deleted.
Comment from Moldovan Eugen -- January 9, 2014, 11:54:01 AM    
Thanks Anker,

No luck after trying the additional instructions above. I think the toolkit is not mature
enough and I cannot afford to install a lower version of the CUDA drivers. I'm using the
GPU also for EM simulations and the CST license requires the latest CUDA drivers.

I'll watch the developments and maybe try again to fiddle with scilab in a year or so :(
Eugen
Comment from Anker Josefsen -- January 21, 2014, 09:51:37 PM    
Eugen,

Eventually came to the same conclusion here. Currently I am programming directly in cuda
and compiling to a dll that scilab then link.

/Anker
Comment from Samarendra Hedaoo -- May 6, 2016, 11:18:01 AM    
Has anyone got this compiled and working on linux 64-bit with cuda 7.5 (or something >=
6.5) ?

After fixing initial errors in build.sce trying to rename non-existent .cu.cpp.ii files, I
am not stuck on compiler errors:

  Running the Makefile
 !--error 10000 
ilib_compile: An error occurred during the compilation:
makecucomplex.cu.cpp: In function 'void writeToCucomplex(double*, double*, int, int,
cuDoubleComplex*)':
makecucomplex.cu.cpp:23:13: error: 'blockIdx' was not declared in this scope
     int x = blockIdx.x*blockDim.x + threadIdx.x;
             ^
makecucomplex.cu.cpp:23:24: error: 'blockDim' was not declared in this scope
     int x = blockIdx.x*blockDim.x + threadIdx.x;
                        ^
makecucomplex.cu.cpp:23:37: error: 'threadIdx' was not declared in this scope
     int x = blockIdx.x*blockDim.x + threadIdx.x;
                                     ^
makecucomplex.cu.cpp: In function 'void readInCucomplex(double*, double*, int, int,
cuDoubleComplex*)':
makecucomplex.cu.cpp:46:13: error: 'blockIdx' was not declared in this scope
     int x = blockIdx.x*blockDim.x + threadIdx.x;
             ^
makecucomplex.cu.cpp:46:24: error: 'blockDim' was not declared in this scope
     int x = blockIdx.x*blockDim.x + threadIdx.x;
                        ^
makecucomplex.cu.cpp:46:37: error: 'threadIdx' was not declared in this scope
     int x = blockIdx.x*blockDim.x + threadIdx.x;
                                     ^
makecucomplex.cu.cpp: In function 'cudaError_t rewritecucomplex(double*, int, int,
cuDoubleComplex*)':
makecucomplex.cu.cpp:73:45: error: 'cudaGetLastError' was not declared in this scope
     cudaError_t cudaStat = cudaGetLastError();
                                             ^
makecucomplex.cu.cpp:76:43: error: 'cudaGetDeviceProperties' was not declared in this
scope
     cudaGetDeviceProperties(&deviceProp, 0);
                                           ^
makecucomplex.cu.cpp:116:27: error: expected primary-expression before '<' token
         writeToCucomplex<<<grid, block>>>(d,di,rows,cols,d_data);
                           ^
makecucomplex.cu.cpp:116:41: error: expected primary-expression before '>' token
         writeToCucomplex<<<grid, block>>>(d,di,rows,cols,d_data);
                                         ^
makecucomplex.cu.cpp:121:42: error: 'cudaThreadSynchronize' was not declared in this scope
         cudaStat = cudaThreadSynchronize();
                                          ^
makecucomplex.cu.cpp: In function 'cudaError_t createcucomplex(double*, double*, int, int,
cuDoubleComplex*)':
makecucomplex.cu.cpp:140:45: error: 'cudaGetLastError' was not declared in this scope
     cudaError_t cudaStat = cudaGetLastError();
                                             ^
makecucomplex.cu.cpp:143:43: error: 'cudaGetDeviceProperties' was not declared in this
scope
     cudaGetDeviceProperties(&deviceProp, 0);
                                           ^
makecucomplex.cu.cpp:183:27: error: expected primary-expression before '<' token
         writeToCucomplex<<<grid, block>>>(d,di,rows,cols,d_data);
                           ^
makecucomplex.cu.cpp:183:41: error: expected primary-expression before '>' token
         writeToCucomplex<<<grid, block>>>(d,di,rows,cols,d_data);
                                         ^
makecucomplex.cu.cpp:188:42: error: 'cudaThreadSynchronize' was not declared in this scope
         cudaStat = cudaThreadSynchronize();
                                          ^
makecucomplex.cu.cpp: In function 'cudaError_t writecucomplex(double*, double*, int, int,
cuDoubleComplex*)':
makecucomplex.cu.cpp:211:45: error: 'cudaGetLastError' was not declared in this scope
     cudaError_t cudaStat = cudaGetLastError();
                                             ^
makecucomplex.cu.cpp:214:43: error: 'cudaGetDeviceProperties' was not declared in this
scope
     cudaGetDeviceProperties(&deviceProp, 0);
                                           ^
makecucomplex.cu.cpp:223:56: error: 'cudaMalloc' was not declared in this scope
         cudaMalloc((void**)&d, sizeof(double)*cols*rows);
                                                        ^
makecucomplex.cu.cpp:228:74: error: 'cudaMemcpy' was not declared in this scope
         cudaMemcpy(d, h, rows*cols*sizeof(double), cudaMemcpyHostToDevice);
                                      at line     129 of function ilib_compile called by : 

at line      94 of function ilib_for_link called by :  
at line      28 of function tbx_build_src called by :  
at line     137 of function builder_src_cu called by :  
builder_src_cu();
at line     148 of exec file called by :    

at line      13 of function tbx_builder called by :  
at line      49 of function tbx_builder_src_lang called by :  
tbx_builder_src_lang(languages, sci_src_dir);
at line      10 of exec file called by :    

at line      13 of function tbx_builder called by :  
at line      32 of function tbx_builder_src called by :  
at line     172 of function main_builder called by :  
    main_builder();
at line     304 of exec file called by :    
exec builder.sce

Please let me know if you have got it working. 
Comment from Samarendra Hedaoo -- May 6, 2016, 11:18:50 AM    
My scilab version is 5.5.2
Answer from Nik Babichev -- May 20, 2016, 08:06:23 PM    
> My scilab version is 5.5.2

I try to install it under windows, CUDA 7.5, but unfortunately.
In requirements written Nvidia : CUDA Toolkit 3.2 to 4.0
Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.