Code quality: fixed compilation errors/warnings with Clang

This commit is contained in:
Philippe Tillet
2015-08-05 09:24:10 -07:00
parent 1a42494411
commit f4c597b294
9 changed files with 13 additions and 15 deletions

View File

@@ -20,8 +20,7 @@ endif()
add_definitions(${BACKEND_DEFINES})
if(WIN32)
add_definitions("-DNOMINMAX")
endif()
if(CMAKE_COMPILER_IS_GNUCXX)
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -pedantic")
endif()

View File

@@ -104,6 +104,7 @@ void bench(isc::numeric_type dtype, std::string operation)
while(total_time*1e-9 < 1e-3){\
std::list<isc::driver::Event> events;\
flush = isc::zeros(1e6, 1, dtype);\
queue.synchronize();\
OP;\
queue.synchronize();\
times.push_back(std::accumulate(events.begin(), events.end(), 0, &time_event));\

View File

@@ -32,7 +32,7 @@ protected:
gemv(gemv::parameters_type const & , dot_type, binding_policy_t);
private:
virtual int is_invalid_impl(driver::Device const &, expressions_tuple const &) const;
unsigned int lmem_usage() const;
unsigned int lmem_usage(expressions_tuple const &) const;
std::string generate_impl(const char * suffix, expressions_tuple const &, driver::Device const & device, std::vector<mapping_type> const &) const;
public:
virtual std::vector<int_t> input_sizes(expressions_tuple const & expressions) const;

View File

@@ -1,5 +1,5 @@
#ifndef ISAAC_TOOLS_MAKE_MAP_HPP
#define ISAAC_TOOLD_MAKE_MAP_HPP
#define ISAAC_TOOLS_MAKE_MAP_HPP
#include <vector>

View File

@@ -1,5 +1,5 @@
#ifndef ISAAC_TOOLS_MAKE_VECTOR_HPP
#define ISAAC_TOOLD_MAKE_VECTOR_HPP
#define ISAAC_TOOLS_MAKE_VECTOR_HPP
#include <vector>

View File

@@ -176,7 +176,7 @@ void mapped_array::preprocess(std::string & str) const
struct MorphValue : public MorphBase
{
MorphValue(std::string const & _ld, char _type) : ld(_ld), type(_type){ }
MorphValue(std::string const & _ld) : ld(_ld){ }
std::string operator()(std::string const & i) const
{ return "#pointer[" + i + "]"; }
@@ -185,12 +185,11 @@ void mapped_array::preprocess(std::string & str) const
{ return "#pointer[(" + i + ") + (" + j + ") * " + ld + "]"; }
private:
std::string const & ld;
char type;
};
struct MorphOffset : public MorphBase
{
MorphOffset(std::string const & _ld, char _type) : ld(_ld), type(_type){ }
MorphOffset(std::string const & _ld) : ld(_ld){ }
std::string operator()(std::string const & i) const
{ return i; }
@@ -199,11 +198,10 @@ void mapped_array::preprocess(std::string & str) const
{return "(" + i + ") + (" + j + ") * " + ld; }
private:
std::string const & ld;
char type;
};
replace_macro(str, "$VALUE", MorphValue(ld_, type_));
replace_macro(str, "$OFFSET", MorphOffset(ld_, type_));
replace_macro(str, "$VALUE", MorphValue(ld_));
replace_macro(str, "$OFFSET", MorphOffset(ld_));
}
mapped_array::mapped_array(std::string const & scalartype, unsigned int id, char type) : mapped_buffer(scalartype, id, type=='s'?"array0":(type=='m'?"array2":"array1")), type_(type)

View File

@@ -51,8 +51,8 @@ gemm_parameters::gemm_parameters(unsigned int simd_width
if(p_.A_fetching_policy!=FETCH_FROM_LOCAL || p_.B_fetching_policy!=FETCH_FROM_LOCAL)
throw operation_not_supported_exception("Only local memory is supported for GEMM");
// if(p_.depth > 1 && M*N*p_.depth > 2e6)
// throw operation_not_supported_exception("This would necessitate a temporary larger than 1MB");
if(p_.depth > 1 && M*N*p_.depth > 2e6)
throw operation_not_supported_exception("This would necessitate a temporary larger than 1MB");
if ((p_.mS % p_.simd_width) > 0 || (p_.nS % p_.simd_width) > 0)
return TEMPLATE_MS_NS_MUST_BE_SIMD_WIDTH_MULTIPLE;

View File

@@ -27,7 +27,7 @@ int gemv::is_invalid_impl(driver::Device const &, expressions_tuple const &) con
return TEMPLATE_VALID;
}
unsigned int gemv::lmem_usage() const
unsigned int gemv::lmem_usage(const expressions_tuple &) const
{
return (p_.local_size_0+1)*p_.local_size_1;
}

View File

@@ -115,7 +115,7 @@ def main():
include =' src/include'.split() + ['external/boost/include', os.path.join(find_module("numpy")[1], "core", "include")]
#Source files
src = 'src/lib/symbolic/preset.cpp src/lib/symbolic/execute.cpp src/lib/symbolic/io.cpp src/lib/symbolic/expression.cpp src/lib/model/model.cpp src/lib/model/predictors/random_forest.cpp src/lib/array.cpp src/lib/value_scalar.cpp src/lib/driver/backend.cpp src/lib/driver/device.cpp src/lib/driver/kernel.cpp src/lib/driver/buffer.cpp src/lib/driver/platform.cpp src/lib/driver/check.cpp src/lib/driver/program.cpp src/lib/driver/command_queue.cpp src/lib/driver/program_cache.cpp src/lib/driver/context.cpp src/lib/driver/event.cpp src/lib/driver/ndrange.cpp src/lib/driver/handle.cpp src/lib/exception/unknown_datatype.cpp src/lib/exception/operation_not_supported.cpp src/lib/kernels/templates/gemv.cpp src/lib/kernels/templates/axpy.cpp src/lib/kernels/templates/gemm.cpp src/lib/kernels/templates/ger.cpp src/lib/kernels/templates/dot.cpp src/lib/kernels/templates/base.cpp src/lib/kernels/mapped_object.cpp src/lib/kernels/stream.cpp src/lib/kernels/parse.cpp src/lib/kernels/keywords.cpp src/lib/kernels/binder.cpp src/lib/wrap/clBLAS.cpp '.split() + [os.path.join('src', 'wrap', sf) for sf in ['_isaac.cpp', 'core.cpp', 'driver.cpp', 'model.cpp', 'exceptions.cpp']]
src = 'src/lib/kernels/templates/ger.cpp src/lib/kernels/templates/gemv.cpp src/lib/kernels/templates/gemm.cpp src/lib/kernels/templates/dot.cpp src/lib/kernels/templates/base.cpp src/lib/kernels/templates/axpy.cpp src/lib/kernels/stream.cpp src/lib/kernels/parse.cpp src/lib/kernels/mapped_object.cpp src/lib/kernels/keywords.cpp src/lib/kernels/binder.cpp src/lib/array.cpp src/lib/value_scalar.cpp src/lib/wrap/clBLAS.cpp src/lib/symbolic/expression.cpp src/lib/symbolic/preset.cpp src/lib/symbolic/io.cpp src/lib/symbolic/execute.cpp src/lib/model/model.cpp src/lib/model/predictors/random_forest.cpp src/lib/exception/unknown_datatype.cpp src/lib/exception/operation_not_supported.cpp src/lib/driver/backend.cpp src/lib/driver/context.cpp src/lib/driver/platform.cpp src/lib/driver/device.cpp src/lib/driver/program.cpp src/lib/driver/kernel.cpp src/lib/driver/event.cpp src/lib/driver/check.cpp src/lib/driver/program_cache.cpp src/lib/driver/ndrange.cpp src/lib/driver/command_queue.cpp src/lib/driver/buffer.cpp src/lib/driver/handle.cpp '.split() + [os.path.join('src', 'wrap', sf) for sf in ['_isaac.cpp', 'core.cpp', 'driver.cpp', 'model.cpp', 'exceptions.cpp']]
boostsrc = 'external/boost/libs/'
for s in ['numpy','python','smart_ptr','system','thread']:
src = src + [x for x in recursive_glob('external/boost/libs/' + s + '/src/','.cpp') if 'win32' not in x and 'pthread' not in x]