今天早上从2.1.2 - > 2.1.3更新了Android Studio并收到以下gradle同步错误:
错误:无法找到方法'org.gradle.api.internal.file.DefaultSourceDirectorySet.(Ljava/lang/String; Ljava/lang/String; Lorg/gradle/api/internal/file/FileResolver;)V'.
我很确定它与以下库项目有关:
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.7.0'
}
}
apply plugin: 'com.android.library'
apply plugin: 'com.google.protobuf'
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
debug {
minifyEnabled false
}
}
sourceSets {
main {
proto {
srcDir 'src/main/protos'
}
java {
srcDir 'src/main/java'
}
manifest {
srcFile 'src/main/AndroidManifest.xml'
}
}
}
}
repositories {
mavenCentral() …
Run Code Online (Sandbox Code Playgroud) 我现在使用的CDH-5.3.1集群中的三个Zookeeper实例位于三个ip中:
133.0.127.40 n1
133.0.127.42 n2
133.0.127.44 n3
Run Code Online (Sandbox Code Playgroud)
启动时一切正常,但是这些天我注意到节点n2不断收到警告:
caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid **0x0**, likely client has closed socket
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:220)
at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)
at java.lang.Thread.run(Thread.java:722)
Run Code Online (Sandbox Code Playgroud)
它每秒发生一次,并且仅在n2上发生,而n1和n3可以。我仍然可以使用HBase Shell扫描表,并使用Solr WEB UI进行查询。但是我无法启动Flume代理,此过程全部停止在这一步:
Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
jetty-6.1.26.cloudera.4
Started SelectChannelConnector@0.0.0.0:41414.
Run Code Online (Sandbox Code Playgroud)
几分钟后,我从Cloudera Manager收到警告,Flume代理超出了文件描述符的阈值。
有人知道出什么事了吗?提前致谢。
我正在从文件中读取以下 json 内容并转换为地图,但出现以下异常。请让我知道是否有人遇到过这样的问题。我验证了我的 json 内容并且看起来有效。不知道为什么这个错误。
JSON 内容:
{
"Results":[{
"TotalPositiveFeedbackCount": 0
},{
"TotalPositiveFeedbackCount": 1
} ]
}
Run Code Online (Sandbox Code Playgroud)
代码:
Map<String, Object> domainMap = new HashMap<String, Object>();
try {
responseJson = getFile("reviewresponse.json");
//responseJson = new String(Files.readAllBytes(Paths.get("reviewresponse.json")), StandardCharsets.UTF_8);
ObjectMapper jsonObjectMapper = new ObjectMapper();
jsonObjectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
domainMap = jsonObjectMapper.readValue(responseJson,
new TypeReference<Map<String, Object>>() {});
}
Run Code Online (Sandbox Code Playgroud)
异常详情:
com.fasterxml.jackson.core.JsonParseException: Unexpected character (' ' (code 160)): was expecting either valid name character (for unquoted name) or double-quote (for quoted) to start field name
at [Source: {
"Results":[{
"TotalPositiveFeedbackCount": …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个需要全尺寸地图的网页,为此我正在使用JVectorMap。地图的宽度和高度为100%。但是,这会使地图在完全缩小时一直延伸到页面的边缘,这是不希望的。理想情况下,完全缩小时地图周围会有边框,但是放大时地图仍会延伸到页面边缘。从本质上讲,我想先将地图缩小得比似乎允许的还要小。
在这种情况下,无法使用HTML边框和填充,因为它们确实在页面加载时产生了预期的效果,但是在放大地图时边框仍然存在。我唯一的想法是尝试将'scale'变量设置为以下代码的末尾为小于零的值:
<script>
$(function(){
$('#map').vectorMap({
map: 'world_mill',
focusOn: {
x: 0.5,
y: 0.5,
scale: 0.8
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这没有影响,因为似乎小于1的“比例”的任何值。我提供了以下屏幕截图来说明问题。
任何帮助将非常感激!
使用volatile限定符在CUDA中声明寄存器数组的含义是什么?
当我尝试使用带有寄存器数组的volatile关键字时,它将溢出的寄存器内存数量删除到本地内存.(即强制CUDA使用寄存器而不是本地存储器)这是预期的行为吗?
在CUDA文档中,我没有找到关于寄存器数组的volatile用法的任何信息.
这是两个版本的ptxas -v输出
使用volatile限定符
__volatile__ float array[32];
Run Code Online (Sandbox Code Playgroud)
ptxas -v输出
ptxas info : Compiling entry function '_Z2swPcS_PfiiiiS0_' for 'sm_20'
ptxas info : Function properties for _Z2swPcS_PfiiiiS0_
88 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info : Used 47 registers, 16640 bytes smem, 80 bytes cmem[0], 8 bytes cmem[16]
Run Code Online (Sandbox Code Playgroud)
没有volatile限定符
float array[32];
Run Code Online (Sandbox Code Playgroud)
ptxas -v输出
ptxas info : Compiling entry function '_Z2swPcS_PfiiiiS0_' for 'sm_20'
ptxas info : Function properties for _Z2swPcS_PfiiiiS0_
96 bytes stack frame, 100 …
Run Code Online (Sandbox Code Playgroud) 我使用OpenMP(gcc版本4.6.3)实现了背包
#define MAX(x,y) ((x)>(y) ? (x) : (y))
#define table(i,j) table[(i)*(C+1)+(j)]
for(i=1; i<=N; ++i) {
#pragma omp parallel for
for(j=1; j<=C; ++j) {
if(weights[i]>j) {
table(i,j) = table(i-1,j);
}else {
table(i,j) = MAX(profits[i]+table(i-1,j-weights[i]), table(i-1,j));
}
}
}
Run Code Online (Sandbox Code Playgroud)
顺序程序的执行时间= 1s
openmp的执行时间为1个线程= 1.7s(开销= 40%)
在两种情况下使用相同的编译器优化标志(-O3).
有人可以解释这种行为背后的原因.
谢谢.
我在C中使用向量内部操作编写了一个简单的向量添加程序.这里我加载2个向量并添加它们,最后将结果向量存储回全局内存.
当我检查汇编代码时,它具有以下顺序的指令
movdqa 0(%rbp,%rax), %xmm7
paddd (%r12,%rax), %xmm7
movdqa %xmm7, (%rbx,%rax)
Run Code Online (Sandbox Code Playgroud)
如您所见,它只将paddd
指令的一个操作数移动到寄存器(xmm7).在paddd
指令中,第一个操作数指的是全局存储器中的地址,而不是先将寄存器移到寄存器中.
这是否意味着当paddd
执行时,它首先从全局内存中移动到寄存器,然后添加两个寄存器中的操作数?这相当于以下代码序列
movdqa 0(%rbp,%rax), %xmm7
movdqa 0(%r12,%rax), %xmm8
paddd %xmm8, %xmm7
movdqa %xmm7, (%rbx,%rax)
Run Code Online (Sandbox Code Playgroud)
如果您需要更多信息(如可编译程序),请告诉我们,以便您自己生成程序集.
c ×2
android ×1
assembly ×1
css ×1
cuda ×1
flume ×1
google-api ×1
gpgpu ×1
gpu ×1
gradle ×1
html ×1
jakarta-ee ×1
java ×1
javascript ×1
jquery ×1
json ×1
jvectormap ×1
nvcc ×1
openmp ×1
performance ×1
sse ×1
volatile ×1