[토치 (Torch)] error: more than one operator "==" matches these operands


Lua 기반의 딥 러닝 프레임워크인 토치(Torch)를 빌드하다 보면 error: more than one operator "==" matches these operands 와 같은 에러 메시지가 뜰 때가 있습니다. 이 현상은 CUDA가 9.0 버전에서부터 절반 정확도의 부동 소수점 연산을 지원하면서 생기는 문제입니다. 이럴 때에는 빌드 전에 다음과 같이 환경 변수를 추가로 지정해주면 됩니다.


export TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__"


이 글을 쓸 때에 https://github.com/torch/torch7/issues/1086 를 참조하였습니다.

[자바] 밑줄 (_) 이 들어가는 JNI 함수명


JNI에서는 함수명에 자바의 패키지 경로를 모두 쓰게 되는데, 그 때에 .(점)을 _(밑줄)로 치환하게 됩니다. 따라서 자바 함수명 자체에 밑줄이 있으면 문제가 생깁니다. 이런 경우 자바 함수명에 있는 밑줄은 JNI에서 _1로 치환하면 됩니다. 아래는 간단한 예제입니다.


// 자바

package com.tistory.crmn;

public class Hello {

    static native int get_hello();

}



// JNI

extern "C" JNIEXPORT jint JNICALL

Java_com_tistory_crmn_Hello_get_1hello(JNIEnv* env, jobject thiz) { // get_1hello에 주목하세요

    return (jint) 1;

}


전염병이 하나 있다고 하자. 당연한 이야기이지만 전 국민이 모두 예방접종을 맞으면 아무도 그 병에 걸리지 않는다. 복잡한 일은 전 국민 중 일부가 예방접종을 안 맞을 때에 일어난다.

전 국민 중 딱 한 명만 예방접종을 안 맞는다면 그 사람은 예방접종을 안 맞더라도 병에 걸리지 않는다. 다른 사람들이 다 접종을 받았기 때문에 그 사람에게 병을 옮길 사람이 없어서 그렇다. 해외 여행을 갔다가 병에 걸려 올 수는 있겠지만 그럴 확률은 낮다. 전국에서 두 사람만 예방접종을 안 맞더라도 마찬가지다. 남한 인구 5천만 중에서 자기 빼고 예방접종을 안 맞은 다른 한 사람을 마침 그 사람이 병에 걸렸을 때에 만나서 병을 옮아 올 확률은 0에 가깝다.

이렇게 예방접종을 안 맞아도 병에 안 걸리는 사람이 하나 둘 늘어가면 예방접종은 제약회사가 돈을 벌기 위해 만들어낸 개념이라는 음모론이 돌기 시작한다. "누구네 집 애는 예방접종 안 맞았는데도 건강하게 잘만 살더라" 하는 카더라 통신도 함께다. 곧 그런 사람들이 인터넷에 카페를 만들고 무슨 병에는 숯가루를 탄 물이 좋다는 등의 괴소문을 퍼뜨리기 시작한다. 주위에서 그러지 말라고 말리면 자기들이 진리 때문에 핍박을 받는 줄로 생각한다. 이쯤 되면 종교의 영역이다. 이런 집단에는 숯가루 먹고서 병이 나았다는 사람들이 의외로 많이 보이는데 그건 숯가루 먹고 병이 심해진 사람들이 그 카페를 탈퇴해서 그렇다.

자기들끼리만 병에 걸리면 그러든지 말든지라고 할 수도 있겠지만 문제는 이런 사람들이 많아지면 그 자녀들이 피해를 본다는 점에 있다. 전반적인 공중 보건에 악영향을 끼치는 건 말할 것도 없다. 2005년 부터 필수가 된 수두 예방접종을 아직도 안 맞히고, 수두 걸린 아이를 집으로 초대해서 자기 아이에게 수두를 옮기게 하는 어리석은 부모들이 아직도 있다. 애를 때리는 것만이 아동 학대가 아니다. 이런 게 바로 아동 학대다. 그런 부모들이 지금이라도 정신을 차렸으면 좋겠다. 그래서 어릴 때 수두에 걸렸던 자식들이 커서 대상포진으로 고생할 때에는 적어도 따뜻한 물에 숯가루를 타서 마시면 바로 낫는다는 류의 소리 대신 빨리 병원에 가 보라는 말을 하게 되었으면 좋겠다.

'글쓰기' 카테고리의 다른 글

예방접종  (0) 2018.11.23
천하장사 고양이  (0) 2018.10.30
복덕방과 경복궁, 공인중개사와 청와대  (0) 2018.08.20
수학으로 설명해본 기독교 교리 1 - 구원  (2) 2018.08.09
"뭐뭐 한 것 같아요"의 유해성  (0) 2018.06.01
너무 규칙적이지 말자  (0) 2018.05.30

+ Recent posts