Giter Club home page Giter Club logo

Comments (26)

thomwolf avatar thomwolf commented on May 24, 2024 8

Ok, it compiles and runs fine for me on MacOSX Sierra 10.12.1
The things I did to get it to compile:

  • install gcc 5.2.0 with brew install gcc --without-multilib
  • Change line 9 of CMakeLists.txt in SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -O3 -fPIC -ffast-math -funroll-loops -lstdc++")
  • compile with command export CC="/usr/local/Cellar/gcc/5.2.0/bin/gcc-5"; export CXX="/usr/local/Cellar/gcc/5.2.0/bin/gcc-5"; python setup.py install

Thank for this work, it is really fast indeed !

from multicore-tsne.

kylemcdonald avatar kylemcdonald commented on May 24, 2024 3

thanks @thomwolf worked for me, except the current gcc version is 6.1.0, so: export CC="/usr/local/Cellar/gcc/6.1.0/bin/gcc-6"; export CXX="/usr/local/Cellar/gcc/6.1.0/bin/gcc-6"; python setup.py install

overall this is faster. for my task i see about 20% speedup to 8m45s running on 8 logical cores, compared to 11m for bh_tsne.

from multicore-tsne.

thomwolf avatar thomwolf commented on May 24, 2024 1

You're welcome @kylemcdonald, by the way I am a huge fan (and user) of your OF/sound work ! So thank you too (not to hijack this github issue :) )

from multicore-tsne.

DmitryUlyanov avatar DmitryUlyanov commented on May 24, 2024

I do not have mac, but you can try to modify cmake comand inside setup.py according to
http://stackoverflow.com/questions/24380456/how-can-i-make-cmake-use-gcc-instead-of-clang-on-mac-os-x

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

Hey, thanks for that link. I managed to get cmake to use a gcc instead of clang my modifying the setup script:

os.system('mkdir -p multicore_tsne/release ; rm -r multicore_tsne/release/* ; cd multicore_tsne/release ; cmake -DCMAKE_C_COMPILER=/usr/local/bin/gcc-6 -DCMAKE_CXX_COMPILER=/usr/local/bin/gcc-6 -DCMAKE_BUILD_TYPE=RELEASE .. ; make VERBOSE=1')

that seems to work, but I get a different error message that looks like there's something broken somewhere else:

running install
-- The C compiler identification is GNU 6.2.0
-- The CXX compiler identification is GNU 6.2.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /usr/local/bin/gcc-6
-- Check for working C compiler: /usr/local/bin/gcc-6 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /usr/local/bin/gcc-6
-- Check for working CXX compiler: /usr/local/bin/gcc-6 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp  
-- Configuring done
-- Generating done
-- Build files have been written to: /code/Multicore-TSNE/multicore_tsne/release
/usr/local/Cellar/cmake/3.6.2/bin/cmake -H/code/Multicore-TSNE/multicore_tsne -B/code/Multicore-TSNE/multicore_tsne/release --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/Cellar/cmake/3.6.2/bin/cmake -E cmake_progress_start /code/Multicore-TSNE/multicore_tsne/release/CMakeFiles /code/Multicore-TSNE/multicore_tsne/release/CMakeFiles/progress.marks
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/Makefile2 all
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/tsne_multicore.dir/build.make CMakeFiles/tsne_multicore.dir/depend
cd /code/Multicore-TSNE/multicore_tsne/release && /usr/local/Cellar/cmake/3.6.2/bin/cmake -E cmake_depends "Unix Makefiles" /code/Multicore-TSNE/multicore_tsne /code/Multicore-TSNE/multicore_tsne /code/Multicore-TSNE/multicore_tsne/release /code/Multicore-TSNE/multicore_tsne/release /code/Multicore-TSNE/multicore_tsne/release/CMakeFiles/tsne_multicore.dir/DependInfo.cmake --color=
Dependee "/code/Multicore-TSNE/multicore_tsne/release/CMakeFiles/tsne_multicore.dir/DependInfo.cmake" is newer than depender "/code/Multicore-TSNE/multicore_tsne/release/CMakeFiles/tsne_multicore.dir/depend.internal".
Dependee "/code/Multicore-TSNE/multicore_tsne/release/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/code/Multicore-TSNE/multicore_tsne/release/CMakeFiles/tsne_multicore.dir/depend.internal".
Scanning dependencies of target tsne_multicore
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/tsne_multicore.dir/build.make CMakeFiles/tsne_multicore.dir/build
[ 33%] Building CXX object CMakeFiles/tsne_multicore.dir/quadtree.cpp.o
/usr/local/bin/gcc-6   -Dtsne_multicore_EXPORTS  -fopenmp -O3 -fPIC -ffast-math -funroll-loops -O3 -DNDEBUG -fPIC   -o CMakeFiles/tsne_multicore.dir/quadtree.cpp.o -c /code/Multicore-TSNE/multicore_tsne/quadtree.cpp
In file included from /code/Multicore-TSNE/multicore_tsne/quadtree.cpp:15:0:
/code/Multicore-TSNE/multicore_tsne/quadtree.h: In function 'double abs(double)':
/code/Multicore-TSNE/multicore_tsne/quadtree.h:18:34: error: 'double abs(double)' conflicts with a previous declaration
 static inline double abs(double x) { return (x < .0 ? -x : x); }
                                  ^
In file included from /usr/local/Cellar/gcc/6.2.0/include/c++/6.2.0/math.h:36:0,
                 from /code/Multicore-TSNE/multicore_tsne/quadtree.cpp:11:
/usr/local/Cellar/gcc/6.2.0/include/c++/6.2.0/cmath:85:3: note: previous declaration 'constexpr double std::abs(double)'
   abs(double __x)
   ^~~
make[2]: *** [CMakeFiles/tsne_multicore.dir/quadtree.cpp.o] Error 1
make[1]: *** [CMakeFiles/tsne_multicore.dir/all] Error 2
make: *** [all] Error 2
cp: multicore_tsne/release/libtsne_multicore.so: No such file or directory
running build
running build_py
running egg_info
writing MulticoreTSNE.egg-info/PKG-INFO
writing requirements to MulticoreTSNE.egg-info/requires.txt
writing dependency_links to MulticoreTSNE.egg-info/dependency_links.txt
writing top-level names to MulticoreTSNE.egg-info/top_level.txt
reading manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'python/libtsne_multicore.so'
writing manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
running install_lib
running install_egg_info
removing '/Users/srinivas/anaconda3/lib/python3.5/site-packages/MulticoreTSNE-0.1-py3.5.egg-info' (and everything under it)
Copying MulticoreTSNE.egg-info to /Users/srinivas/anaconda3/lib/python3.5/site-packages/MulticoreTSNE-0.1-py3.5.egg-info

from multicore-tsne.

DmitryUlyanov avatar DmitryUlyanov commented on May 24, 2024

9d9568e
This should fix it, try one more time.

from multicore-tsne.

DmitryUlyanov avatar DmitryUlyanov commented on May 24, 2024

Can you try to remove this line ?

static inline double abs(double x) { return (x < .0 ? -x : x); }

It looks like this function never used anyway.

from multicore-tsne.

adelr avatar adelr commented on May 24, 2024

You shouldn't have to change the installation script. If you specify the path to GCC in the CC environment variable before running the installation script, it should use the right compiler.
In other words, typing the following in your terminal should do the trick:
export CC="/usr/local/bin/gcc-6"; python setup.py install

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

Hi @adelr, that isn't right. cmake doesn't listen to CC or CXX options. in any case, it doesn't solve the problem (please see error above)

from multicore-tsne.

adelr avatar adelr commented on May 24, 2024

Hi @sg-s, starting from the original (non-modified) setup script, on Mac OS 10.11.6 (with anaconda python 3.5.2 or 2.7.12) I get an error similar to your original one because clang is being used by default:

python setup.py install
running install
-- The C compiler identification is AppleClang 8.0.0.8000038
-- The CXX compiler identification is AppleClang 8.0.0.8000038
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Try OpenMP C flag = [-fopenmp=libomp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
...

However, if I specify the path to gcc (I'm using gcc5.4 from macports) in CC, the installation works without a problem:

export CC="/opt/local/bin/gcc"; python setup.py install
running install
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /opt/local/bin/gcc
-- Check for working C compiler: /opt/local/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /opt/local/bin/c++
-- Check for working CXX compiler: /opt/local/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp  
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release
/opt/local/bin/cmake -H/Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne -B/Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release --check-build-system CMakeFiles/Makefile.cmake 0
/opt/local/bin/cmake -E cmake_progress_start /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release/CMakeFiles /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release/CMakeFiles/progress.marks
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/Makefile2 all
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/tsne_multicore.dir/build.make CMakeFiles/tsne_multicore.dir/depend
cd /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release/CMakeFiles/tsne_multicore.dir/DependInfo.cmake --color=
Dependee "/Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release/CMakeFiles/tsne_multicore.dir/DependInfo.cmake" is newer than depender "/Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release/CMakeFiles/tsne_multicore.dir/depend.internal".
Dependee "/Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release/CMakeFiles/tsne_multicore.dir/depend.internal".
Scanning dependencies of target tsne_multicore
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/tsne_multicore.dir/build.make CMakeFiles/tsne_multicore.dir/build
[ 33%] Building CXX object CMakeFiles/tsne_multicore.dir/quadtree.cpp.o
/opt/local/bin/c++   -Dtsne_multicore_EXPORTS  -fopenmp -O3 -fPIC -ffast-math -funroll-loops -O3 -DNDEBUG -fPIC   -o CMakeFiles/tsne_multicore.dir/quadtree.cpp.o -c /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/quadtree.cpp
[ 66%] Building CXX object CMakeFiles/tsne_multicore.dir/tsne.cpp.o
/opt/local/bin/c++   -Dtsne_multicore_EXPORTS  -fopenmp -O3 -fPIC -ffast-math -funroll-loops -O3 -DNDEBUG -fPIC   -o CMakeFiles/tsne_multicore.dir/tsne.cpp.o -c /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/tsne.cpp
[100%] Linking CXX shared module libtsne_multicore.so
/opt/local/bin/cmake -E cmake_link_script CMakeFiles/tsne_multicore.dir/link.txt --verbose=1
/opt/local/bin/c++   -fopenmp -O3 -fPIC -ffast-math -funroll-loops -O3 -DNDEBUG -bundle -Wl,-headerpad_max_install_names  -o libtsne_multicore.so CMakeFiles/tsne_multicore.dir/quadtree.cpp.o CMakeFiles/tsne_multicore.dir/tsne.cpp.o 
[100%] Built target tsne_multicore
/opt/local/bin/cmake -E cmake_progress_start /Users/adel/Programming/Python/Repos/Multicore-TSNE/multicore_tsne/release/CMakeFiles 0
running build
running build_py
running egg_info
writing pbr to MulticoreTSNE.egg-info/pbr.json
writing top-level names to MulticoreTSNE.egg-info/top_level.txt
writing requirements to MulticoreTSNE.egg-info/requires.txt
writing MulticoreTSNE.egg-info/PKG-INFO
writing dependency_links to MulticoreTSNE.egg-info/dependency_links.txt
reading manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'MulticoreTSNE.egg-info/SOURCES.txt'
copying python/libtsne_multicore.so -> build/lib/MulticoreTSNE
running install_lib
copying build/lib/MulticoreTSNE/libtsne_multicore.so -> /Users/adel/anaconda/envs/py35/lib/python3.5/site-packages/MulticoreTSNE
running install_egg_info
removing '/Users/adel/anaconda/envs/py35/lib/python3.5/site-packages/MulticoreTSNE-0.1-py3.5.egg-info' (and everything under it)
Copying MulticoreTSNE.egg-info to /Users/adel/anaconda/envs/py35/lib/python3.5/site-packages/MulticoreTSNE-0.1-py3.5.egg-info

Could this be a gcc6 issue?

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

@adelr could you upload your binary in the meantime?

from multicore-tsne.

adelr avatar adelr commented on May 24, 2024

This is quite odd indeed. Binary is attached. Best wishes.
libtsne_multicore.so.gz

from multicore-tsne.

DmitryUlyanov avatar DmitryUlyanov commented on May 24, 2024

@sg-s did you try this http://stackoverflow.com/questions/11852568/gcc-4-8-on-mac-os-x-10-8-throws-undefined-symbols-for-architecture-x86-64 ?

Especially the part about -lstdc++ flag

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

thanks @DmitryUlyanov, but that problem is when I used gcc5.4.

earlier, I had a different error, perhaps, linked to this:

https://stackoverflow.com/questions/28799074/qt-error-symbols-not-found-for-architecture-x86-64-on-mac-os-x-yosemite#28799463

i don't think i have the skillset to solve this problem; hopefully someone smarter will figure this out.

from multicore-tsne.

thomwolf avatar thomwolf commented on May 24, 2024

I end up with the same error compiling with gcc 5.2.0 on MacOSX Sierra 10.12.1 (Undefined symbols for architecture x86_64).
I am currently investigating this but if you have any new tips on that, I am very interested !

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

wow, thanks, i'll check this out

edit: works! thanks @thomwolf. used gcc 6.2.0

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

I'm going to close this, it works great for me now!

from multicore-tsne.

jolespin avatar jolespin commented on May 24, 2024

Here's my GCC:

$ ls /usr/local/Cellar/gcc/7.1.0/bin/
c++-7                                   gcc-ar-7                                gcov-dump-7                             x86_64-apple-darwin14.5.0-c++-7         x86_64-apple-darwin14.5.0-gcc-ar-7
cpp-7                                   gcc-nm-7                                gcov-tool-7                             x86_64-apple-darwin14.5.0-g++-7         x86_64-apple-darwin14.5.0-gcc-nm-7
g++-7                                   gcc-ranlib-7                            gfortran                                x86_64-apple-darwin14.5.0-gcc-7         x86_64-apple-darwin14.5.0-gcc-ranlib-7
gcc-7                                   gcov-7                                  gfortran-7                              x86_64-apple-darwin14.5.0-gcc-7.1.0     x86_64-apple-darwin14.5.0-gfortran-7

I tried:

Joshs-MacBook-Air:Multicore-TSNE Mu$ CC="/usr/local/Cellar/gcc/7.1.0/bin/gcc-7"; export CXX="/usr/local/Cellar/gcc/7.1.0/bin/gcc-7"; python setup.py install
running install
-- The C compiler identification is AppleClang 7.0.0.7000072
-- The CXX compiler identification is GNU 7.1.0
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Checking if C linker supports --verbose
-- Checking if C linker supports --verbose - no
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /usr/local/Cellar/gcc/7.1.0/bin/gcc-7
-- Check for working CXX compiler: /usr/local/Cellar/gcc/7.1.0/bin/gcc-7 -- works
-- Detecting CXX compiler ABI info
-- Checking if CXX linker supports --verbose
-- Checking if CXX linker supports --verbose - no
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Try OpenMP C flag = [-fopenmp=libomp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [ ]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-Qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-xopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [+Oopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-qsmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [-mp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
CMake Error at /Users/Mu/anaconda/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find OpenMP (missing: OpenMP_C_FLAGS)
Call Stack (most recent call first):
  /Users/Mu/anaconda/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /Users/Mu/anaconda/share/cmake-3.6/Modules/FindOpenMP.cmake:234 (find_package_handle_standard_args)
  CMakeLists.txt:6 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/Users/Mu/Multicore-TSNE/multicore_tsne/release/CMakeFiles/CMakeOutput.log".
See also "/Users/Mu/Multicore-TSNE/multicore_tsne/release/CMakeFiles/CMakeError.log".
cannot find cmake

I install openmp with brew and with conda but it didn't work. Any suggestions?

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

I wrote up some macOS specific installtion instructions here

Can you follow these and check if it works for you?

from multicore-tsne.

jolespin avatar jolespin commented on May 24, 2024

Success! Thank you so much. Very, very excited to use this. Quick question, is this implementation analagous to the original author's implementation or based on the scikit-learn version because I stumbled across this github issue: scikit-learn/scikit-learn#8766 when I was trying to figure out if the learning rate was adaptive scikit-learn/scikit-learn#7215

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

@jolespin the code is identical -- i just modified the installation script and instructions to get it to work on macOS

from multicore-tsne.

jolespin avatar jolespin commented on May 24, 2024

Identical to the sklearn version or the van see maaten version?

from multicore-tsne.

sg-s avatar sg-s commented on May 24, 2024

identical to Dmitry's version (which is not the same as the one in scikit-learn)

from multicore-tsne.

thomwolf avatar thomwolf commented on May 24, 2024

from multicore-tsne.

jolespin avatar jolespin commented on May 24, 2024

Awesome 🙌🏽 That is the one I have been using. One last question, can a random seed be used with this version? Does that warrant a separate feature request ticket? Thanks again for your help.

from multicore-tsne.

Yorko avatar Yorko commented on May 24, 2024

Solved the same issues by installing gcc-mp-4.7 with Macports and building "by hand":

cd multicore_tsne/release
cmake -DCMAKE_C_COMPILER=/opt/local/bin/gcc-mp-4.7 -DCMAKE_CXX_COMPILER=/opt/local/bin/gcc-mp-4.7 -DCMAKE_BUILD_TYPE=RELEASE ..
cd ..
make VERBOSE=1
cp libtsne_multicore.so <PATH_TO_PYTHON>/site-packages/MulticoreTSNE/

from multicore-tsne.

Related Issues (20)

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.