Giter VIP home page Giter VIP logo

shinmorino / sqaod Goto Github PK

View Code? Open in Web Editor NEW
77.0 11.0 22.0 65.27 MB

Solvers/annealers for simulated quantum annealing on CPU and CUDA(NVIDIA GPU).

Home Page: https://github.com/shinmorino/sqaod/wiki

License: Other

Python 26.72% Shell 0.14% C++ 53.48% Makefile 1.06% M4 0.46% Cuda 18.03% C 0.02% Batchfile 0.09%
cuda accelearated monte-carlo-simulation linux windows cplusplus-11 quantum-computing python nvidia-gpu quantum-annealing gpu

sqaod's Issues

update docs.

Build/intsall instruction.

  • configure args,
    '--enable-cuda=<path>|<ver>'
    '--with-blas'
  • CFLAGS to enable SIMD(AVX, SSE)

CUDA/GPU requirement.

  • Kepler(Cc3.5) or later.
    Recommendation is Maxwell or later.
  • Developed and tested with CUDA 9.0/9.1. Recommendation is CUDA 9.0 or later.

Simple usage.

  • Update examples

Refine initialization of solvers.

Temporal number of trotters should be given in constructor.
Calling order of randomize_q() and set_x() should be defined in relation with init_anneal().

Release alpha binary.

Current testsuite executions are required.

  • Unittest in c++.
  • Unittest in python.
  • run every python script.
  • run perf app to check solutions.
  • add instructions for instsallation/build on doc.

Import Error in python when built from source for cuda

Update(9/26/2018)
Please visit Installation at sqaod wiki and follow installation instructions.

This issue was caused by version mismatch between 'self-built native libraries' and 'python package installed by pip'.
Discussion in this issue and resolutions have been already reflected to Installation.

(shinmorino)


Do I have to build also for CPU?

ubuntu@ip-172-31-6-165:~$ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ubuntu@ip-172-31-6-165:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Wed_Apr_11_23:16:29_CDT_2018
Cuda compilation tools, release 9.2, V9.2.88

ubuntu@ip-172-31-6-165:~$ nvidia-smi
Wed Jun  6 09:24:09 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.26                 Driver Version: 396.26                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla K80           On   | 00000000:00:1E.0 Off |                    0 |
| N/A   39C    P8    30W / 149W |      0MiB / 11441MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqaod
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/sqaod/__init__.py", line 10, in <module>
    from . import cpu
  File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/sqaod/cpu/__init__.py", line 1, in <module>
    from . import formulas
  File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/sqaod/cpu/formulas.py", line 4, in <module>
    from . import cpu_formulas as cext
ImportError: /home/ubuntu/anaconda3/lib/python3.6/site-packages/sqaod/cpu/cpu_formulas.so: undefined symbol: _ZN5sqaod12aligned_freeEPv

set_x() with m x N matrix.

Renaming set_x() to set_q().
Implement 2 versions of the method for N-length vector and m x N-length vector.

Installation on AWS DeepLearning AMI 9.0 Ubuntu 16.04

Hi!

I am stacking on

 libsqaodc-cuda-9-0 : 依存: cuda-cublas-9-0:amd64 しかし、インストールすることができません
                      依存: cuda-cudart-9-0:amd64 しかし、インストールすることができません
                      依存: cuda-curand-9-0:amd64 しかし、インストールすることができません
                      依存: cuda-cublas-9-0 しかし、インストールすることができません
                      依存: cuda-cudart-9-0 しかし、インストールすることができません
                      依存: cuda-curand-9-0 しかし、インストールすることができません

Also, the default python there is 3.6.4 anaconda, is it not supported?

Thanks

Dense graph solvers are unable to accept upper/lower trianglar matrices.

All dense graph solvers are able to deal only with symmetric matrices.
symmetrize() has been added to enable upper/lower triangle matrices, there's a misunderstanding on the equation.

Fix:

  1. Check if a given matrix is symmetric.
    1-1. If symmetric, the matrix will be used as is.
  2. If asymmetric, check if the matrix is upper/lower triangular.
    2-1 If triangular, symmetrize the mat.
  3. Error: Raise exception.

This fix will be applied to all dense graph solvers and functions.

Adding log switch.

using an environmental variable, SQAOD_VERBOSE, to switch log output.
When SQAOD_VERBOSE is defined and its value is not '0', SQAOD will generate logs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.