Skip to content

Instantly share code, notes, and snippets.

g++ -c -std=c++11 -I. main.cpp -lshogun
template<class Archive>
void save(Archive & ar) const
{
ar(vlen);
for (index_t i = 0; i < vlen; ++i)
ar(vector[i]);
}
template<class Archive>
void load(Archive & ar)
[ RUN ] MatrixSum.symmetric_viennacl_backend_no_diag
unknown file: Failure
C++ exception with description "ViennaCL: FATAL ERROR: You requested to create a ViennaCL type using double precision. However, double precision is not supported by your device.
If you think that this is a bug in ViennaCL, please report it at viennacl-support@lists.sourceforge.net and supply at least the following information:
* Operating System
* Which OpenCL implementation (AMD, NVIDIA, etc.)
* ViennaCL version
Many thanks in advance!" thrown in the test body.
[ FAILED ] MatrixSum.symmetric_viennacl_backend_no_diag (0 ms)
[ RUN ] MatrixSum.asymmetric_colwise_viennacl_backend_with_diag
[==========] Running 4 benchmarks.
[ RUN ] CPUVector.dot_explict_eigen3(const SGVector<T> &A = data.A, const SGVector<T> &B = data.B) (10 runs, 1000 iterations per run)
[ DONE ] CPUVector.dot_explict_eigen3(const SGVector<T> &A = data.A, const SGVector<T> &B = data.B) (0.000550 ms)
[ RUNS ] Average time: 0.055 us
Fastest: 0.000 us (-0.055 us / -100.000 %)
Slowest: 0.313 us (+0.258 us / +469.091 %)
Average performance: 18181818.18182 runs/s
Best performance: inf runs/s (+inf runs/s / +inf %)
Worst performance: 3194888.17891 runs/s (-14986930.00290 runs/s / -82.42812 %)
[ 28%] Building CXX object src/shogun/CMakeFiles/libshogun.dir/lib/SGMatrix.cpp.o
/Users/zora/Github/shogun/src/shogun/lib/SGMatrix.cpp:900:22: error: call to constructor of 'SGVector<float64_t>' is ambiguous
SGVector<float64_t> result(NULL, 0, true);
^ ~~~~~~~~~~~~~
/Users/zora/Github/shogun/src/shogun/lib/SGVector.h:70:3: note: candidate constructor
SGVector(T* v, index_t len, bool ref_counting=true);
^
/Users/zora/Github/shogun/src/shogun/lib/SGVector.h:83:3: note: candidate constructor
SGVector(GPUMemoryBase<T>* vector, index_t len, bool ref_counting=true);
^
Error1:
[100%] Built target build_cpp_meta_examples
/opt/shogun/src/shogun/lib/SGVector.h:536: Error: Syntax error in input(3).
make[2]: *** [src/interfaces/python_modular/modshogunPYTHON_wrap.cxx] Error 1
make[1]: *** [src/interfaces/python_modular/CMakeFiles/_python_modular.dir/all] Error 2
make: *** [all] Error 2
[COMMENT:SGVector.h:536 is `alignas(CACHE_SIZE_XXXX) T* vector;`]
Error2:
Mac148934:test2 zora$ g++ -c -std=c++11 base.cpp
Mac148934:test2 zora$ g++ -c -std=c++11 test.cpp
Mac148934:test2 zora$ g++ -std=c++11 base.o test.o -o test
Undefined symbols for architecture x86_64:
"void base::serialize<cereal::JSONOutputArchive>(cereal::JSONOutputArchive&) const", referenced from:
decltype(fp0.serialize(fp)) cereal::access::member_serialize<cereal::JSONOutputArchive, derived>(cereal::JSONOutputArchive&, derived&) in test.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
#define CEREAL_SAVE_FUNCTION_NAME cereal_save
#define CEREAL_LOAD_FUNCTION_NAME cereal_load
template<class Archive>
void CSGObject::cereal_save(Archive& ar) const
{
for (auto it = self->map.begin(); it != self->map.end(); ++it)
ar(it->second); // archive Any object
}
template<class Archive>
void CSGObject::cereal_save(Archive& ar) const
{
int y = 0;
for (auto it = self->map.begin(); it != self->map.end(); ++it, ++y)
{
std::cerr << "num. " << y << std::endl;
ar(it->second);
}
}
template<class Archive>
void cereal_save(Archive& ar) const
{
switch (m_datatype.e_containertype) {
case TYPE_SGVECTOR
case TYPE_INT_32:
ar(*(reinterpret_cast<int32_t*>(storage))); break;
case TYPE_FLOAT_64:
ar(*(reinterpret_cast<float64_t*>(storage))); break;
case TYPE_SGVECTOR_INT_32: