Giter VIP home page Giter VIP logo

shinmorino / sqaod Goto Github PK

View Code? Open in Web Editor NEW
76.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

sqaod's People

Contributors

shinmorino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sqaod's Issues

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.

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

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.

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

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

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.

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().

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.

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.