mirror of https://github.com/google/gemma.cpp.git
[WIP] create skeleton for example frontend application
This commit is contained in:
parent
808dbdc42b
commit
39cd59caec
|
|
@ -0,0 +1,45 @@
|
||||||
|
# Copyright 2019 Google LLC
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.11)
|
||||||
|
|
||||||
|
project(look)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
include(FetchContent)
|
||||||
|
|
||||||
|
FetchContent_Declare(highway GIT_REPOSITORY https://github.com/google/highway.git GIT_TAG da250571a45826b21eebbddc1e50d0c1137dee5f)
|
||||||
|
FetchContent_MakeAvailable(highway)
|
||||||
|
|
||||||
|
FetchContent_Declare(sentencepiece GIT_REPOSITORY https://github.com/google/sentencepiece GIT_TAG 53de76561cfc149d3c01037f0595669ad32a5e7c)
|
||||||
|
FetchContent_MakeAvailable(sentencepiece)
|
||||||
|
|
||||||
|
FetchContent_Declare(gemma GIT_REPOSITORY https://github.com/google/gemma.cpp.git GIT_TAG 808dbdc42b216c3ac1f1c40dfa638bcff24bbd2b)
|
||||||
|
FetchContent_MakeAvailable(gemma)
|
||||||
|
|
||||||
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
|
set(CMAKE_BUILD_TYPE "Release")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_executable(look run.cc)
|
||||||
|
target_sources(look PRIVATE ${SOURCES})
|
||||||
|
set_property(TARGET look PROPERTY CXX_STANDARD 17)
|
||||||
|
target_link_libraries(look hwy hwy_contrib sentencepiece libgemma)
|
||||||
|
target_include_directories(look PRIVATE ./)
|
||||||
|
FetchContent_GetProperties(sentencepiece)
|
||||||
|
target_include_directories(look PRIVATE ${sentencepiece_SOURCE_DIR})
|
||||||
|
target_compile_definitions(look PRIVATE $<$<PLATFORM_ID:Windows>:_CRT_SECURE_NO_WARNINGS NOMINMAX>)
|
||||||
|
target_compile_options(look PRIVATE $<$<PLATFORM_ID:Windows>:-Wno-deprecated-declarations>)
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
// copybara:import_next_line:gemma_cpp
|
||||||
|
#include "compression/compress.h"
|
||||||
|
// copybara:end
|
||||||
|
// copybara:import_next_line:gemma_cpp
|
||||||
|
#include "gemma.h" // Gemma
|
||||||
|
// copybara:end
|
||||||
|
// copybara:import_next_line:gemma_cpp
|
||||||
|
#include "util/app.h"
|
||||||
|
// copybara:end
|
||||||
|
// copybara:import_next_line:gemma_cpp
|
||||||
|
#include "util/args.h" // HasHelp
|
||||||
|
// copybara:end
|
||||||
|
#include "hwy/base.h"
|
||||||
|
#include "hwy/contrib/thread_pool/thread_pool.h"
|
||||||
|
#include "hwy/highway.h"
|
||||||
|
#include "hwy/per_target.h"
|
||||||
|
#include "hwy/profiler.h"
|
||||||
|
#include "hwy/timer.h"
|
||||||
|
|
||||||
|
int main(int argc, char** argv) {
|
||||||
|
gcpp::LoaderArgs loader(argc, argv);
|
||||||
|
gcpp::AppArgs app(argc, argv);
|
||||||
|
hwy::ThreadPool pool(app.num_threads);
|
||||||
|
gcpp::Gemma model(loader, pool);
|
||||||
|
std::cout << "Done" << std::endl;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue